【发布时间】:2021-04-18 03:13:45
【问题描述】:
我有什么
我有一个带有复选框的 Ant Design 4 表单:
const Example = ({ initialValues, onSave }) => {
const [form] = Form.useForm();
useEffect(() => {
form.resetFields();
}, [initialValues.isAccepted]);
const onFinish = (values) => {
console.log(values);
onSave(values);
};
const getInitialValues = useCallback(() => ({
isAccepted: initialValues.isAccepted || false,
}));
return (
<Form form={form} onFinish={onFinish} initialValues={getInitialValues()}>
<Form.Item name="isAccepted">
<Checkbox>The company can use my data</Checkbox>
</Form.Item>
<Button type="primary" htmlType="submit">Save</Button>
</Form>
);
};
问题
即使true 位于initialValues 中,该复选框也始终处于未选中状态。此外,当我提交表单时,values 变量始终包含来自initialValues 的值,它不会记录我更改(选中或未选中)复选框。
目标
我希望从inititalValues 正确设置初始值,并在onFinish 中获取复选框的当前值。
【问题讨论】:
标签: javascript forms checkbox antd