我想使用React在单击按钮时更改基本Web按钮组件的颜色和背景色。如何在单击按钮时更改按钮的样式?
我尝试使用$isSelected
prop来检测点击,但这对我没有帮助。
import { Button } from 'baseui/button'
...
<Button
kind="secondary"
size="compact"
shape="pill"
overrides={{
BaseButton: {
style: ({ $isSelected }) => ({
color: $isSelected ? 'white' : 'black',
backgroundColor: $isSelected ? 'black' : 'white',
}),
},
}}
>
Hello
</Button>
我该怎么办?
1条答案
按热度按时间u1ehiz5o1#
您可以创建保存true或false值的状态,然后根据按钮是否被单击来设置按钮的样式。
代码和框:https://codesandbox.io/s/base-web-button-forked-gvxi2v?file=/src/example.js:513-523
直接从https://baseweb.design/components/button派生的示例
如果您想创建许多这样的按钮,可以将示例提取到它自己的组件中,并根据需要多次呈现它们,每个按钮都将具有自己的单击状态。