【发布时间】:2020-08-07 00:27:59
【问题描述】:
我正在使用 antd 复选框。我使用值数组存储检查值,但我需要存储未检查值数组。
const plainOptions = ["Apple", "Pear", "Orange"];
const defaultCheckedList = ["Apple", "Orange"];
state = {
checkedList: defaultCheckedList
};
onChange = checkedList => {
this.setState({
checkedList
});
};
onCheckAllChange = e => {
this.setState({
checkedList: e.target.checked ? plainOptions : []
});
};
onCheckItem = value => e => {
this.setState({
checkedList: this.state.checkedList.includes(value)
? this.state.checkedList.filter(x => x !== value)
: [...this.state.checkedList, value]
});
};
// This is checked All , When user click on this checked box , it will be store array of value.
<Checkbox
indeterminate={
checkedList.length < plainOptions.length && checkedList.length > 0
}
onChange={this.onCheckAllChange}
checked={checkedList.length === plainOptions.length}
>
Check all
</Checkbox>
{plainOptions.map((item, idx) => (
<Checkbox
key={item + idx}
onChange={this.onCheckItem(item)}
checked={checkedList.includes(item)}
>
{item}
</Checkbox>
))}
目前,当我选中复选框时,它会给我一个值数组,例如 ["apple","Orange"],但我想通过使用值数组 ["Pear"] 来保存未选中的值
未选中的预期输出: 未选中:[“梨”]
这是我的代码框:
【问题讨论】:
标签: javascript arrays reactjs object antd