【问题标题】:To default to the first record returned from the ReferenceInput in SelectInput在 SelectInput 中默认为从 ReferenceInput 返回的第一条记录
【发布时间】:2021-03-10 11:52:24
【问题描述】:

请问如何将 selectinput 初始化为 ReferenceInput 返回的第一条记录?

例如,person 资源返回 this

persons: [
  {"id":1,"name":"John"},
  {"id":2,"name":"Peter"},
  {"id":3,"name":"Paul"}
]

我希望选择输入默认为 John 是人员资源中的第一条记录

我看到一个类似的帖子,有人说可以使用 SelectInput 的 defaultValue 属性,但它对我不起作用。

谢谢

请看下面的代码:

<ReferenceInput
  label="RDM/WDM"
  source="salesmgr"
  reference="persons"
  sort={{ field: 'id', order: 'ASC' }}                   
>
    <SelectInput optionText="name"/>
</ReferenceInput> 

【问题讨论】:

  • 条纹,请问您有解决方案吗?起初我认为 Miguel 的答案是正确的,但我现在刚刚测试过,但事实并非如此。谢谢
  • 您似乎无法“填充”诸如 AutocompleteArrayInputSelectInput 之类的 ReferenceInputs 的子选项。我认为归档它的唯一方法是编写一个非常自定义的组件来获取数据并用它自己的逻辑从ReferenceInput 中显示出来。

标签: react-admin


【解决方案1】:

将 defaultValue 属性添加到 ReferenceInput,如下所示:

<ReferenceInput
  label="RDM/WDM"
  source="salesmgr"
  reference="persons"
  sort={{ field: 'id', order: 'ASC' }}
  defaultValue={1}             
>
   <SelectInput optionText="name"/>
</ReferenceInput> 

【讨论】:

  • 抱歉,这个问题没有解决。我在这里仍然需要帮助。 Miguel 的解决方案默认 id 为 1。ReferenceInput 在渲染其记录时,无法在运行时知道 id 的值。
  • 嗨 Miguel,很抱歉这没有解决。您的解决方案假定返回的记录将具有 id=1 但无法从参考输入了解运行时 id 的值
猜你喜欢
  • 1970-01-01
  • 2018-09-13
  • 1970-01-01
  • 2021-01-06
  • 1970-01-01
  • 2010-10-12
  • 1970-01-01
  • 1970-01-01
  • 2022-01-27
相关资源
最近更新 更多