Я использую реагировать и. этот код работает отлично, но я хочу заменить <CheckboxGroup/>
. Теперь я просто передаю массив plainOptions внутри <CheckboxGroup/>
без зацикливания, но сейчас я хочу сделать l oop single <Checkbox>
, используя массив plainOptions.
For example : plainOptions.map(item=><Checkbox value={item} onChange
{this.onChange}/>) ) // My code would be like this
const plainOptions = ['Apple', 'Pear', 'Orange'];
const defaultCheckedList = ['Apple', 'Orange'];
class App extends React.Component {
state = {
checkedList: defaultCheckedList,
indeterminate: true,
checkAll: false,
};
onChange = checkedList => {
this.setState({
checkedList,
indeterminate: !!checkedList.length && checkedList.length < plainOptions.length,
checkAll: checkedList.length === plainOptions.length,
});
};
onCheckAllChange = e => {
this.setState({
checkedList: e.target.checked ? plainOptions : [],
indeterminate: false,
checkAll: e.target.checked,
});
};
<div className="site-checkbox-all-wrapper">
<Checkbox
indeterminate={this.state.indeterminate}
onChange={this.onCheckAllChange}
checked={this.state.checkAll}
>
Check all
</Checkbox>
</div>
<br />
<CheckboxGroup
options={plainOptions}
value={this.state.checkedList}
onChange={this.onChange}
/>
Я хочу использовать <Checkbox/>
вместо CheckboxGroup. Мой код будет выглядеть следующим образом
For example : plainOptions.map(item=><Checkbox value={item} onChange
{this.onChange}/>)
Как это можно сделать?
Вот мой кодовый ящик: https://codesandbox.io/s/4k6qi?file= / index. js