请问如何将Antd的Form组件(rc-form)label的值动态化?

问题描述

1.利用getFieldDecorator可以同步<Form.Item />的value,如果我希望<Form.Item />label也为动态的<Input />,请问除了通过动态控制state的值还有什么办法可以解决吗?

2.用form.getFieldsValue()获取表单值的时候,如果label的值是以.开头的会自动切成对象,请问是什么原因?

相关代码

// data
[
  {
    "id": 18,
    "percent": 20,
    "item": "React",
  },
  {
    "id": 19,
    "percent": 40,
    "item": ".NET",
  },
  {
    "id": 20,
    "percent": 40,
    "item": "Angular",
  }
]
// return
const skillsTab = initialValue => (
  <Input
    defaultValue={[initialValue]}
    className={styles.cascaderWrapper}
  />
);
{skills.map(skill => (
  <Form.Item key={skill.id} label={skillsTab(skill.item)} {...formItemLayout}>
    {getFieldDecorator(skill.item, { initialValue: skill.percent })(
      <Slider />
    )}
  </Form.Item>
))}

你期待的结果是什么?实际看到的错误信息又是什么?

clipboard.png

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