React-Admin 将值更改为 SelectInput 中的自定义值
React-Admin Change values to custom values in the SelectInput
我在 react-admin 中使用了以下代码:
<ReferenceInput label="Animal" source="id"reference="animal">
<SelectInput optionText="type" choices={[ {id: '0', name: 'Cat' }, { id: '1', name: 'Dog'},]}/>
</ReferenceInput>
在该代码中,它从我的数据库接收值“0”表示猫,“1”表示狗,当我在下拉菜单中单击时,它显示“0”和“1”,但我想显示在我的 SelectInput 中只有猫和狗,而不是“0”和“1”。
我尝试使用:choices={[ {id: '0', name: 'Cat' }, { id: '1', name: 'Dog'},]}
,但在下拉列表中没有效果。
有人知道我该怎么做吗?
您可以传入 optionText 属性来显示所选记录的功能,而不是字段名称的字符串:
<ReferenceInput label="Animal" source="id" reference="animal">
<SelectInput optionText={ choice => choice.type === 0 ? 'Cat' : 'Dog' }/>
</ReferenceInput>
我发现我的问题是什么了。
来自数据库的值只是一个数值 (0, 1) 而我使用的是 ('0', '1')。因此,SelectInput 无法使用正确的值在 DropDown 中显示。
正确的做法应该是这样的:
<SelectInput
optionText = "type"
choices = {[{id: 0, name: 'Cat'}, {id: 1, name: 'Dog'},]}
/>
其中数值不使用引号。
我在 react-admin 中使用了以下代码:
<ReferenceInput label="Animal" source="id"reference="animal">
<SelectInput optionText="type" choices={[ {id: '0', name: 'Cat' }, { id: '1', name: 'Dog'},]}/>
</ReferenceInput>
在该代码中,它从我的数据库接收值“0”表示猫,“1”表示狗,当我在下拉菜单中单击时,它显示“0”和“1”,但我想显示在我的 SelectInput 中只有猫和狗,而不是“0”和“1”。
我尝试使用:choices={[ {id: '0', name: 'Cat' }, { id: '1', name: 'Dog'},]}
,但在下拉列表中没有效果。
有人知道我该怎么做吗?
您可以传入 optionText 属性来显示所选记录的功能,而不是字段名称的字符串:
<ReferenceInput label="Animal" source="id" reference="animal">
<SelectInput optionText={ choice => choice.type === 0 ? 'Cat' : 'Dog' }/>
</ReferenceInput>
我发现我的问题是什么了。
来自数据库的值只是一个数值 (0, 1) 而我使用的是 ('0', '1')。因此,SelectInput 无法使用正确的值在 DropDown 中显示。
正确的做法应该是这样的:
<SelectInput
optionText = "type"
choices = {[{id: 0, name: 'Cat'}, {id: 1, name: 'Dog'},]}
/>
其中数值不使用引号。