antd-Checkbox多选操作

在项目中遇到了需要有多选操作的功能,刚开始的时候以为挺简单的,但是随着项目的深入,发现并不是想象的那么简单。下面就说一说我遇到的一些问题吧:

1、将后端接口的数据变成多选项:

思路:就是将所有的要展示数据重新整理,最后变成一个新的list放到CheckboxGroup的option里面去。例如[‘选项1’,‘选项2’,‘选项3’]。

2、在勾选项中加入ID:

按照上面的例子,我每次勾选能获取到我勾选的内容,但是我需要获取我勾选项的id,但是我显示又要是显示的是它的名称,这个操作应该怎么办呢?这个时候就需要对之前的list进行重新整理了,将之前的字符串list,变成一个object 的list,object的内容为:object = {'label':'选项1‘,'value':'1001'},将选项的名称放进labei中,将id放进value里面,这样勾选的时候,拿到的就是id值了。

3、赋予初始值:

在checkboxGroup里面有一个value属性,就是用来展示已经勾选的值。

   全选

   

/Checkbox>

indeterminate:负责样式控制, true/false

checked:勾选还是未勾选,true/false

onChange:勾选时触发的方法

options:所有的勾选子项,list

思路:

1、单个勾选:

获取勾选的值,将其存入一个value属性对应的list里面,

2、全选:

判断全选按钮的状态,如果是true,则说明是全选,则将option中的list赋值给value中的list;如果为false,则说明是反全选,将value中的list赋空即可。

你可能感兴趣的:(antd-Checkbox多选操作)