checkbox reactjs 正在检查所有选项
checkbox reactjs is checking all options
我正在使用使用状态的材质-ui 复选框。
当我点击 select 一个选项时,它 select 全部,但我希望他 select 只有被点击的选项。
代码:
export default function Categorys() {
const [state, setState] = React.useState({
checkedG: true
});
const handleChange = event => {
setState({ ...state, [event.target.name]: event.target.checked });
};
return (
<>
{categorys.map(category => (
<FormControlLabel
key={category.id}
control={
<GreenCheckbox
checked={state.checkedG}
onChange={handleChange}
name="checkedG"
key={category.id}
/>
}
label={category.name}
/>
))}
</>
);
}
因为他们都有相同的checked属性。
将其更改为:
export default function Categorys() {
const [state, setState] = React.useState({});
const handleChange = event => {
setState(prevState => { ...prevState, [event.target.name]: event.target.checked });
};
return (
<>
{categorys.map(category => (
<FormControlLabel
key={category.id}
control={
<GreenCheckbox
checked={state[category.id]}
onChange={handleChange}
name={category.id}
key={category.id}
/>
}
label={category.name}
/>
))}
</>
);
}
我正在使用使用状态的材质-ui 复选框。 当我点击 select 一个选项时,它 select 全部,但我希望他 select 只有被点击的选项。
代码:
export default function Categorys() {
const [state, setState] = React.useState({
checkedG: true
});
const handleChange = event => {
setState({ ...state, [event.target.name]: event.target.checked });
};
return (
<>
{categorys.map(category => (
<FormControlLabel
key={category.id}
control={
<GreenCheckbox
checked={state.checkedG}
onChange={handleChange}
name="checkedG"
key={category.id}
/>
}
label={category.name}
/>
))}
</>
);
}
因为他们都有相同的checked属性。 将其更改为:
export default function Categorys() {
const [state, setState] = React.useState({});
const handleChange = event => {
setState(prevState => { ...prevState, [event.target.name]: event.target.checked });
};
return (
<>
{categorys.map(category => (
<FormControlLabel
key={category.id}
control={
<GreenCheckbox
checked={state[category.id]}
onChange={handleChange}
name={category.id}
key={category.id}
/>
}
label={category.name}
/>
))}
</>
);
}