Perubahan Kelas Dinamik dalam TailwindCSS dengan Literal Templat
Dalam TailwindCSS, literal templat menyediakan cara yang mudah untuk menukar kelas secara dinamik berdasarkan keadaan atau prop . Walau bagaimanapun, ralat sintaks boleh berlaku jika digunakan secara tidak betul.
Satu isu biasa ialah cuba menambah atau mengalih keluar kelas secara dinamik dengan peraturan gaya, seperti:
const [click, setClick] = useState(false); const closeNav = () => { setClick(!click); }; const openNav = () => { setClick(!click); }; <div className=" absolute inset-0 ${click ? translate-x-0 : -translate-x-full } transform z-400 h-screen w-1/4 bg-blue-300 " > <XIcon onClick={closeNav} className=" absolute h-8 w-8 right-0 " /> </div>;
Untuk menyelesaikan masalah ini, sertakan nama kelas dalam backticks (`):
<div className={`absolute inset-0 ${click ? 'translate-x-0' : '-translate-x-full'} transform z-400 h-screen w-1/4 bg-blue-300`}> </div>
Sebagai alternatif, anda boleh menggunakan yang berikut sintaks:
<div className={'absolute inset-0 ' + (click ? 'translate-x-0' : '-translate-x-full') + ' transform z-400 h-screen w-1/4 bg-blue-300'}> </div>
Elakkan menggunakan penggabungan rentetan, kerana TailwindCSS boleh mengalih keluar kelas yang tidak digunakan dalam binaan pengeluaran:
<div className={`text-${error ? 'red' : 'green'}-600`}> </div>
Sebaliknya, pilih nama kelas yang lengkap:
<div className={`${error ? 'text-red-600' : 'text-green-600'}`}> </div>
atau:
<div className={error ? 'text-red-600' : 'text-green-600'}> </div>
Pilihan tambahan termasuk nama kelas dan twin.macro.
Berikut ialah beberapa sumber yang berguna:
Atas ialah kandungan terperinci Bagaimana untuk Mengurus Kelas CSS Tailwind secara Dinamik dengan Literal Templat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!