antdesign 的Input组件中默认值怎么弄

clipboard.png

这是我写的代码

然后打印出来的也都对 Input中就是没有值

clipboard.png

而且API上说的也是String类型

clipboard.png

但是要直接给defaultValue 设置一个字符串的话

clipboard.png

Input就会有默认的值

clipboard.png

请问这是怎么回事 我该怎么解决 这个值不可以写成死值 因为是要从父组件传过来的

阅读 13.6k
4 个回答

你用到了Form呢,应该这样去写:

<ForItem>
{
this.props.form.getFieldDecorator('countryValue', {
            rules: [{ required: true, message: 'Please input country!' }],
            initialValue: this.state.countryValue
          })(
            <Input />
          )
}
</FormItem>

如果不是必填项呢,required: false

你应该使用 value 去对应 input 绑定的数据,初始化就是改变这个绑定的值即可。

不知道你明白没有,我用 mobx 写的可以给你参考下:

<Input 
        value={couponStore.state.name}   //绑定数据
        onChange={(event)=>{
                couponStore.state.name = event.target.value;
       }}
/>

componentWillMount(){
     couponStore.state.name = 'abc';   //初始化数据
}

这是formitem的问题, 去看看formitem的文档

新手上路,请多包涵

从父组件拿值后是setState吗,这个方法会有延迟,可能是在还没有set进去就已经渲染完了这个input 所以他的default就是个空值,试试再加一个this.state.xx=xx;

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