antd checkbox选中数量的限制

我在做一个投票的界面,在做多选的时候需要限制选中的选项的数量,
比如最多投两票,则当5个checkbox有2个被选中时,其他的选项都被disable了.

我现在因为数据是从外面传到props里面的,所以不知道该用checkbox还是checkboxgroup
数据:
图片描述
我现在是这样写的(其实是瞎写的):
图片描述
还完全没有思路,谁能给个大致思路,怎么判断已选checkbox的数量并且disable掉其他未选中的checkbox
目前做到的样子:
图片描述
更新后做到的样子(可以实现点击多于两个checkbox的时候全局disable,不知道怎么把this.state,写入.map循环。。):
图片描述
会报错,不识别state。
图片描述
图片描述

阅读 9.3k
1 个回答

大概思路如下:
设置默认选中Checkbox的数量 state={checkboxNum:0};
选中一个Checkbox时 执行事件 this.setState({checkboxNum:this.state.checkboxNum + 1});
遍历的时候加判断 <Checkbox disabled={ this.state.checkboxNum > 2 ? true : false}></Checkbox>

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进