提问者:小点点

Antd v4.5.1设置Select的初始值


我有这段代码用于处理模型中的状态更改。

<Form.Item 
     name="status"
     label="Status"
>
    <Select>
       {
           statusOptions
           ?
           Object.keys(statusOptions).map(statusId => {
               return <Select.Option key={ statusId } value={ statusId }>{ statusKey2Value(statusId) }</Select.Option>;
           })
           :
           null
       }
    </Select>
</Form.Item>

statusOptions是一个JSON对象,如下所示:

{
    0: Deleted
    1: Active
}

我使用的是Antd V4.5.1,它建议直接在表单组件中处理initialValues。 我基本上是从后端检索数据,并将数据提供给表单组件。 但是,当我尝试为下拉列表设置selected option时,它显示为“1”而不是“Active”。 我已经找到了一个由Antd Select API提供的解决方案,它将状态值作为一个对象保存,其中包含一个标签值,但是我并不认为改变我的后端结构是最优的。 有人能帮我一下吗?


共1个答案

匿名用户

尝试在select组件上使用optionlabelprop=“label”,并在select.option上放置label={statusoptions[statusId]}。 Oh并使Select.Option自动关闭。