checkGroup 有全选框的时候,其子项的选择不会使全选中的状态发生改变,除非是全部选中,通过indeterminate进行的控制。
举例如下:
onChange = (checkedList: any) => {
const { onChange } = this.props as any;
if (!('value' in this.props)) {
this.setState({
checkedList,
// indeterminate: !!checkedList.length && checkedList.length < this.plainOptions.length,
checkAll: checkedList.length === this.plainOptions.length,
})
}
onChange(
{
checkedList,
indeterminate: !!checkedList.length && checkedList.length < this.plainOptions.length,
checkAll: checkedList.length === this.plainOptions.length,
}
)
};
onCheckAllChange = (e: any) => {
const { onChange } = this.props as any;
if (!('value' in this.props)) {
this.setState({
checkedList: e.target.checked ? this.plainOptions.map(item => item.value) : [],
indeterminate: false,
checkAll: e.target.checked,
});
}
onChange(
{
checkedList: e.target.checked ? this.plainOptions.map(item => item.value) : [],
indeterminate: false,
checkAll: e.target.checked,
}
)
};