P粉1913232362023-08-28 00:23:31
这是tailwindcss和动态类的已知问题,因为类是在渲染后应用的,所以它的效果不会被tailwind生成,除非有另一个元素具有与静态类相同的类。
因此,您可以使用tailwind的"safelist"来解决这个问题。 在您的tailwind.config中,定义一个safelist数组,包含您需要生成的所有tailwind类,而这些类在您的代码中不存在作为静态类。
tailwind.config.js:
module.exports = { content: [ './pages/**/*.{html,js}', './components/**/*.{html,js}', ], safelist: [ 'from-red-500', 'from-orange-500', 'from-yellow-500', 'from-green-500', 'from-cyan-500', 'from-blue-500', 'from-indigo-500', 'from-violet-500', 'from-purple-500', 'from-pink-500', ] // ... }
现在这些类将始终被生成,因此当您动态应用它们时,它们将相应地更改。
请注意,在添加到safelist后,您需要重新启动服务器。
另一个手动解决方案是创建一个隐藏元素,并将所有所需的类添加到它中,这样即使在渲染后动态获取它们,它们也会被生成。
<div className="hidden from-red-500"></div>
但我认为safelist更好。