antDesign Form表单 initialValue在手动输入后如何更改?

antDesign Form可以使用下面的方式为input赋予默认值:

const myValue = random() // 一个变化的值
...
{
    getFieldDecorator('userName', {initialValue: myValue}]})(  <Input /> )
}

如上面的代码所示,我的需求中,Input的初始值是变化的。

但是,当我手动在输入框内进行了某个输入之后,程序就无法为该输入框赋值了,也就是myValue的值无论如何改变,屏幕上输入框显示的值都是我手动输入的那一个。

我分析本质原因是initialValue设置的是Input组件的默认值,而一旦Input有了一个值,也就是我手动输入的值,那么默认值就无效了。

但是用Form getFieldDecorator的时候,有没有办法直接给Input设置value,请问该怎么办?

阅读 6.6k
3 个回答

已解决:

Form.create({
    mapPropsToFields(props) {
        ...
        result[yourKey] = Form.createFormField({
           value: yourValue,
        });
        return result
    }
})(<YourComponent/>)
this.props.form.setFieldsValue({
  key: value
});
新手上路,请多包涵

图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进