【问题标题】:How to control the displayed text of a ChipField in react-admin?如何在 react-admin 中控制 ChipField 的显示文本?
【发布时间】:2020-05-15 22:26:54
【问题描述】:

默认情况下,ChipField 只能显示一个字段的内容,至少文档是这么说的。下面的示例显示字段name 的内容。

   <ReferenceArrayField source="substances" reference="substances" label="Substanzen">
      <SingleFieldList>
         <ChipField source="name" />
      </SingleFieldList>
   </ReferenceArrayField>

但是,我希望 ChipField 显示由多个字段的信息组合而成的文本:

const Substanz = ({ record }) =>  {
    return record.name+" ("+record.unit+")";
};

<ReferenceArrayField source="substances" reference="substances" label="Substanzen">
   <SingleFieldList>
      <ChipField source={<Substanz />} />       <---- this does not work!
   </SingleFieldList>
</ReferenceArrayField>

但不幸的是,source 只接受字段名称,而不接受像 SelectInput 字段的 OptionText 属性这样的对象。

执行此操作的预期方法是什么?

【问题讨论】:

    标签: javascript reactjs react-admin react-final-form


    【解决方案1】:

    我认为您的自定义 SubstanzField 组件几乎已经完成了。只需使用MUI 样式的组件来制作您自己的类似ChipField 的组件,并将其直接传递到SingleFieldList

    MUI Chips docs

    不知道您是否期望更复杂的解决方案,但这对于您的情况应该足够简单和灵活。

    【讨论】:

    • 谢谢,最后我使用来自material-uiChip 创建了一个自定义组件,它是react-admins ChipField 的基础。
    • 欢迎您,这也是我大多数时候使用自定义组件的方法。
    猜你喜欢
    • 2021-12-24
    • 1970-01-01
    • 2020-05-16
    • 2019-10-19
    • 1970-01-01
    • 2011-10-13
    • 2021-03-13
    • 1970-01-01
    • 2020-10-28
    相关资源
    最近更新 更多