reactjs 如何在ant design中使用按钮作为复选框

ttcibm8c  于 2023-03-08  发布在  React
关注(0)|答案(4)|浏览(231)

我用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>

但这不能作为复选框使用。有什么办法可以解决这个问题吗?
先谢了

whitzsjs

whitzsjs1#

这是我的作品。
您可以只选中一个或取消选中所有。
我还提供了类似Radio.Button的简单CSS。
https://stackblitz.com/edit/react-bsyhkm?file=index.js
我创建了新版本的垂直和宽度选项,你想要的.
https://stackblitz.com/edit/react-bsyhkm-n7umzv?file=styled.js

mccptt67

mccptt672#

不确定您是否还在搜索,但我遇到了同样的问题,并在沙箱here上找到了一个非常好的示例。
它实际上并没有使用任何antd库,但我认为它看起来非常相似,并且稍微调整它以使其与UI的其余部分保持一致应该是非常微不足道的。

cunj1qz1

cunj1qz13#

您可以使用CheckableTags而不是checkBox来获得此行为。

rjzwgtxy

rjzwgtxy4#

也许你可以尝试,在按钮点击事件改变状态(状态=!initialstate)(即反向initialstate),设置initialstate为假。然后设置复选框的值基于按钮的状态。

相关问题