【发布时间】:2022-10-06 08:40:05
【问题描述】:
希望你做得很好! 我希望从我从道具收到的状态中设置 Input 的值!我可以在占位符中设置 \"profile\" 状态中的所有信息,但是将其放入 value 字段时它不显示任何内容 这是我的代码和我使用的表格:
<Form
name=\"basic\"
wrapperCol={{ span: 24 }}
onFinish={onUpdate}
onFinishFailed={onFinishFailed}>
<FormItem>
<Input prefix={<ContactsTwoTone />} placeholder={profile.name} />
</FormItem>
<FormItem name=\"email\"
rules={[
{
type: \'email\',
message: \'The input is not valid E-mail!\',
}
]}
>
<Input value={profile.email} name=\"name\" prefix={<MailTwoTone />} placeholder={profile} />
</FormItem>
<FormItem name=\"mobile\" value={profile.mobile} >
<Input value={profile.mobile} name=\"mobile\" prefix={<PhoneTwoTone />} placeholder={profile.mobile} />
</FormItem>
<FormItem name=\"addres\">
<Input name=\"addres\" prefix={<HomeTwoTone />} placeholder={profile.addres} />
</FormItem>
<FormItem name=\"description\">
<Input.TextArea name=\"description\" placeholder=\"description\" rows={4} prefix={<ContainerTwoTone />} />
</FormItem>
<FormItem>
<Button className=\"width-100\" type=\"primary\" htmlType=\"submit\" onClick={onUpdate} >Update</Button>
</FormItem>
</Form> ```
the useEffect function and the declaration of state :
const [visible, setVisible] = useState(false);
const FormItem = Form.Item;
const [profile, setProfile] = useState({});
useEffect(() => {
setProfile(props.profile);
},[props.profile] );
const showDrawer = () => {
setVisible(true);
};
-
您不能通过 value 或 defaultValue 属性为每个表单控件设置值,您应该使用 Form 的 initialValues 设置默认值。请注意,setState 不能动态更新 initialValues,在这种情况下您应该使用 setFieldsValue。),2.您不能通过 value 或 defaultValue 属性为每个表单控件设置值,您应该使用 Form 的 initialValues 设置默认值。请注意,setState 不能动态更新 initialValues,您应该在这种情况下使用 setFieldsValue。
标签: javascript html reactjs react-hooks antd