使用 antd如何通过setFieldsValue设置select的value和text

{getFieldDecorator('category', {
                            rules: [],
                            onChange: this.handleCategoryChange,
                        })(
                            <Select>
                                { this.state.categoryArr.map(item => <Option key={item.uuid} value={item.uuid}>{item.name}</Option>) }
                                <Option value='new'>新建</Option>
                            </Select>
                        )}

上面的方法动态设置option。
点击新建的时候会新建一个option,新建的option在select中会选中

this.setState({
            
            categoryArr:categoryArr.concat([{name:name,uuid:uuid}])
        })
 form.setFieldsValue({
            category: name,//name为新建的名称,同时新建还会产生一个uuid
        });

通过setFieldsValue设置新建的option在select中会选中,但是该option的value等于name。
图片描述

通过getFieldsValue获取到的category并不是uuid.
图片描述

我想知道如何动态设置新建的option显示的名称是name,但通过getFieldsValue获取到的是uuid

阅读 29.6k
1 个回答

labelInValue

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