[英]Render a specific className when active with classNames and Tailwind
我正在使用Tailwinds CSS和classNames包。
我正在渲染 2 個div
並且我想檢查其中一個是否有active
類,然后為其設置特定的背景顏色 className bg-[#000]
。
'bg-[#000]': 'active'
check 但這只是在所有元素上插入背景顏色。 我們如何使用Tailwind
和classNames
為活動元素設置特定樣式?
謝謝!
截圖:
這是標簽的屏幕截圖,第一個當前處於活動狀態。 但是第二個不活躍的也有bg-[#000]
類。
代碼:
list.map((page, index) => {
return (
<div
key = {index}
onClick = {() => setCurrentListIdx(index)}
className = {
classNames('bullets__item m-1.5 h-2 w-2 cursor-pointer rounded-full bg-[#e0e0e0]',
{
active: currentListIdx === +index,
'bg-[#000]': 'active',
}
)}
></div>
)
})
在條件'bg-[#000]': 'active'
中,您傳遞的是字符串'active'
而不是要評估的變量或表達式。 這將返回true
,因為 JS 字符串是真實的,因此總是添加類。 classNames
實用程序似乎不允許以這種方式檢查其條件對象中當前應用的類名。
您也可以對兩個類名使用相同的條件: currentListIdx === +index
,因此在滿足此條件時將添加兩個類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.