Ant Design form.setFieldsValue 和 initialValues prop 的区别
Difference between Ant Design form.setFieldsValue and initialValues prop
如标题所述。两者有什么区别?
1.
import { Form } from 'antd';
const Components = () => {
const [form] = Form.useForm();
form.setFieldsValue({ ... });
return (
<Form form={form}>
...
</Form>
);
}
import { Form } from 'antd';
const Components = () => {
return (
<Form initialValues={{ ... }}>
...
</Form>
);
}
setFieldValues 适用于 on-demand 值设置。例如,如果您的表单上有一个“默认”按钮,可以将所有值设置回某个默认值。在表单上使用 setFieldValues 的问题是,如果您将 props 传递给那个更改或函数 prop,当 props 在应用程序中刷新时,setFieldValues 将被一遍又一遍地调用。这可能会导致表单在用户打开表单时随机重置为 setFieldValues 中的值。
initialValues 仅在表单初始化时设置初始值,不会出现上述相同问题,因此非常适合在具有 props 的情况下设置具有初始值的表单这可能会令人耳目一新或发生变化。这会导致您的表单表现良好,并且在表单被销毁之前不会对用户进行更改。
如标题所述。两者有什么区别?
1.
import { Form } from 'antd';
const Components = () => {
const [form] = Form.useForm();
form.setFieldsValue({ ... });
return (
<Form form={form}>
...
</Form>
);
}
import { Form } from 'antd';
const Components = () => {
return (
<Form initialValues={{ ... }}>
...
</Form>
);
}
setFieldValues 适用于 on-demand 值设置。例如,如果您的表单上有一个“默认”按钮,可以将所有值设置回某个默认值。在表单上使用 setFieldValues 的问题是,如果您将 props 传递给那个更改或函数 prop,当 props 在应用程序中刷新时,setFieldValues 将被一遍又一遍地调用。这可能会导致表单在用户打开表单时随机重置为 setFieldValues 中的值。
initialValues 仅在表单初始化时设置初始值,不会出现上述相同问题,因此非常适合在具有 props 的情况下设置具有初始值的表单这可能会令人耳目一新或发生变化。这会导致您的表单表现良好,并且在表单被销毁之前不会对用户进行更改。