antd Form.Item的name是数组时如何取值

 <Form.Item
    name={['0', 'gender', 'gender1']}
    label="gender"
 >
    <Select>
        <Option value="male">male</Option>
        <Option value="female">female</Option>
        <Option value="other">other</Option>
    </Select>
</Form.Item>

使用shouldUpdate做动态渲染,item的name是这种数组形式的时候,要取到gender1该怎么写

阅读 8.3k
1 个回答
新手上路,请多包涵

Form.Itemname属性只有字符类型,传入数组也会转换成字符

image.png

如果加上必填校验rules={[{ required: true }]},提交就会出现 '0.gender.gender1' is required 提示,说明name被转换成了 '0.gender.gender1'

image.png

想要动态name可以添加一个state传给name,如name={this.state.fieldName},需要的时候在shouldUpdate中使用setState更新就好了

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