让你开发更舒适的 Tailwind 技巧( 四 )


<buttonclassName={twMerge(buttonVariants({ size, variant }), className)}{...props}>完成!
需要注意的一点 —— class-variance-authority 方法制作可复用组件的最佳之处在于 , 我们能够在应用程序的任何其他地方重用我们收到的函数,这就是为什么我们要导出它的原因 。在这里,最常见的用途可能是需要为某个 <a> 链接设置样式 , 可以轻松实现:只需导入函数并定义类即可!
import { buttonVariants } from "./Button/Button";export default function App() {return (<><a className={buttonVariants({ size: "medium", variant: "filled" })}>中等大小填充链接!</a></>);}最后,如果您一直在跟随我的示例,您可能已经注意到,当我们在 cva 函数内编写类时,Tailwind 智能提示扩展不起作用 。这是因为它没有被训练去做这件事 —— 它只在我们编写类名和使用 @apply 样式时触发 。为了解决这个问题,我们可以稍微调整 settings.json 文件,添加以下行:
"tailwindCSS.experimental.classRegex": [["cva\(([^)]*)\)", "["'`]([^"'`]*).*?["'`]"]],

让你开发更舒适的 Tailwind 技巧

文章插图

【让你开发更舒适的 Tailwind 技巧】


推荐阅读