我的拥有
我有一个带有复选框的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>
);
};
问题
即使在initialValues
中为true
,复选框始终未选中。此外,当我提交表单时,values
变量始终包含来自initialValues
的值,它不会注册我更改(选中或取消选中)复选框。
目标
我希望能够正确地从inititalValues
设置初始值,并在onFinish
中获取复选框的当前值。