我用react JS在Ant Design中创建了一个复选框组。现在,我想使用按钮,而不是复选框。一个按钮对应一个值。
这是我的代码。
<Checkbox.Group>
<ul className="ul-custom">
{this.props.symptomsForCheckbox.map((symptom) => {
return (
<li>
<Checkbox value={symptom.id}>
symptom.nameEnglish
</Checkbox>
</li>
);
})}
</ul>
</Checkbox.Group>
这里看起来像是
我想要的是添加按钮,而不是复选框。下面的图像显示。
我用的代码是
<Checkbox.Group>
<ul className="ul-custom">
{this.props.symptomsForCheckbox.map((symptom) => {
return (
<li>
<Button value={symptom.id}>
symptom.nameEnglish
</Button>
</li>
);
})}
</ul>
</Checkbox.Group>
但这不能作为复选框使用。有什么办法可以解决这个问题吗?
先谢了
4条答案
按热度按时间whitzsjs1#
这是我的作品。
您可以只选中一个或取消选中所有。
我还提供了类似
Radio.Button
的简单CSS。https://stackblitz.com/edit/react-bsyhkm?file=index.js
我创建了新版本的垂直和宽度选项,你想要的.
https://stackblitz.com/edit/react-bsyhkm-n7umzv?file=styled.js
mccptt672#
不确定您是否还在搜索,但我遇到了同样的问题,并在沙箱here上找到了一个非常好的示例。
它实际上并没有使用任何antd库,但我认为它看起来非常相似,并且稍微调整它以使其与UI的其余部分保持一致应该是非常微不足道的。
cunj1qz13#
您可以使用
CheckableTags
而不是checkBox
来获得此行为。rjzwgtxy4#
也许你可以尝试,在按钮点击事件改变状态(状态=!initialstate)(即反向initialstate),设置initialstate为假。然后设置复选框的值基于按钮的状态。