Select 所有复选框未按预期运行
Select All checkbox not behaving as expected
我正在尝试为我的主要 Formik React 表单编写这个自定义 React 组件。
我想创建一个 'select All' 复选框,当 selected 或未 selected 时,selects 或 deselects 所有其他复选框。
我知道我正在使用 onChange 事件单击 'Select All' 复选框。
但是当我这样做时,它总是保持 selected。
我也不确定如何自动 select 和 deselect 其他复选框。
另一件事是,此组件不使用状态,因为状态由我的表单页面中的 Formik 处理。 Formik 只是查找选中了哪个复选框并将其添加到状态。
有办法吗?
谢谢!
这是我的代码:
const EngineList = () => {
const handleEngineChange = (e) => {
console.log('set engines to All -- ', e);
}
return (
<>
<label>
<Field type="checkbox" name="engines" onChange={handleEngineChange} value="1" selected />
Select All
</label>
<label>
<Field type="checkbox" name="engines" value="2" />
Formula One
</label>
<label>
<Field type="checkbox" name="engines" value="3" />
Nascar
</label>
</>
);
}
export default EngineList;
由于 Formik 处理状态,您必须使用 API 来更改状态。有setFieldValue,你可以用
我正在尝试为我的主要 Formik React 表单编写这个自定义 React 组件。
我想创建一个 'select All' 复选框,当 selected 或未 selected 时,selects 或 deselects 所有其他复选框。
我知道我正在使用 onChange 事件单击 'Select All' 复选框。
但是当我这样做时,它总是保持 selected。
我也不确定如何自动 select 和 deselect 其他复选框。
另一件事是,此组件不使用状态,因为状态由我的表单页面中的 Formik 处理。 Formik 只是查找选中了哪个复选框并将其添加到状态。
有办法吗?
谢谢!
这是我的代码:
const EngineList = () => {
const handleEngineChange = (e) => {
console.log('set engines to All -- ', e);
}
return (
<>
<label>
<Field type="checkbox" name="engines" onChange={handleEngineChange} value="1" selected />
Select All
</label>
<label>
<Field type="checkbox" name="engines" value="2" />
Formula One
</label>
<label>
<Field type="checkbox" name="engines" value="3" />
Nascar
</label>
</>
);
}
export default EngineList;
由于 Formik 处理状态,您必须使用 API 来更改状态。有setFieldValue,你可以用