赞
踩
问题开始:
在使用antd表单组件里面的input的时候,设置了defaultValue定义输入框的默认值。在发起网络请求的时候,使用form.validateFields().then((values)={}
中的values来获取input的值。
问题出现:
当我就想使用默认值的时候,values
中获取不到我设置的defaultValue
默认值。
问题解决:
不要使用defaultValue
来定义默认值。在表单<Form>
中使用initialValues
来初始化值。
注意 initialValues
不能被 setState 动态更新,你需要用 setFieldsValue 来更新。可以使用 form.setFieldsValue 来动态改变表单值。
比如:(defaultValue
方式)
<Form>
<Form.Item label="备注" name="message">
<Input.TextArea maxLength={200} defaultValue="我是默认值"/>
</Form.Item>
<Form/>
改为 (initialValues
方式)
<Form initialValues={{ message: "我是默认值" }}>
<Form.Item label="备注" name="message">
<Input.TextArea maxLength={200}/>
</Form.Item>
<Form/>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。