Der Titel wird wie folgt umgeschrieben: Lösung des dynamischen Breitenwiedergabeproblems der RatingBar-Komponente in Vue.js 3 und Tailwind CSS
P粉803527801
2023-09-01 10:19:15
<p>Ich verwende Vue.js 3 und Tailwind CSS. Ich habe eine Komponente namens RatingBar und versuche, einen dynamischen Breitenwert auf die Klasse des übergeordneten Elements anzuwenden. Obwohl ich in DevTools die erwartete Breite sehen kann, wird sie mit 100 % gerendert. </p>
<p>Dies ist mein Code in der RatingBar.vue-Komponente: </p>
<pre class="brush:js;toolbar:false;"><template>
<div class="my-2 grid grid-cols-3 items-center">
<span class="text-left text-sm">{{ genre.name }}</span>
<div class="h-2 flex-1 abgerundet-lg bg-gray-800">
<div
class="h-voll gerundet-lg bg-sekundär"
:class="`w-[${Math.floor(genre.rating * 10)}%]`"
></div>
</div>
<div class="ml-2 Flex Flex-Row Items-Center Gap-1 Text-SM Text-Gray-600">
<i class="fa-regular fa-star"></i>
<span class="flex flex-row gap-1">
<spanne>
{{ genre.rating }}
</span>
<span> ({{ genre.count }}) </span>
</span>
</div>
</div>
</template>
<Skript-Setup>
const props = defineProps({
Genre: {
Typ: Objekt,
erforderlich: wahr,
},
})
</script>
</pre>
<p>Die gerenderte HTML-Ausgabe wird in <div> mit der Breite <code>w-[75%]</code> angezeigt: </p>
<pre class="brush:html;toolbar:false;"><div class="h-fullrounded-lg bg-secondary w-[75%]"></div>
</pre>
<p>这是我的package.json文件:</p>
<pre class="brush:json;toolbar:false;">{
"Name": "Projektname",
„Version“: „0.0.0“,
"privat": wahr,
"Skripte": {
"dev": "vite",
"build": "vite build",
"Vorschau": "Vite-Vorschau"
},
"Abhängigkeiten": {
"axios": "^1.4.0",
"firebase": "^9.22.1",
"vue": "^3.3.2",
"vue-router": "^4.2.0"
},
"devDependencies": {
"@vitejs/plugin-vue": "^4.2.3",
"Autoprefixer": "^10.4.14",
"postcss": "^8.4.23",
"hübscher": "^2.8.8",
"prettier-plugin-tailwindcss": "^0.3.0",
"tailwindcss": "^3.3.2",
"vite": "^4.3.5"
}
}
</pre>
<p>请问您能帮我解决这个问题吗?</p>
<p>时,使用表达式<code>:class="w-[${Math .floor(genre.rating * 10)}%]"</code>宽度.</p>
<p>宽度应该是75%.</p>
<p>值如何.</p>
<p>议.</p>
根据文档:
相反,你可以使用
style
属性来设置width
: