gpt4 book ai didi

javascript - 在 React-Admin 中显示一个数组

转载 作者:行者123 更新时间:2023-12-04 17:22:54 26 4
gpt4 key购买 nike

我正在尝试使用 react-admin 创建一个电话簿应用程序。我创建了一个 dataProvider,我想同时显示 numbertype,我应该怎么做?它没有在输出中显示任何 numbertype

数据提供者.js

import fakeDataProvider from 'ra-data-fakerest';

const dataProvider = fakeDataProvider({
contacts: [
{
id: 1,
name: "jack",
numbers: [
{number: '09367371111', typeId: 1},
{number: '36059988', typeId: 2},
],
},
{
id: 2,
name: "sara",
numbers: [
{number: '09365551111', typeId: 1},
],
},
],
typeCalls: [
{id: 1, type: 'Mobile'},
{id: 2, type: 'Home'},
{id: 3, type: 'Work'},
{id: 4, type: 'Other'},
],
});

export default dataProvider;

联系人.js

/// --- Show ---
export const ShowContact = (props) => {
return (
<Show {...props} actions={<ShowActionsOnTopToolbar/>} title={<ContactTitle/>}>
<SimpleShowLayout>
<TextField source="id"/>
<TextField source="name"/>

<ReferenceArrayField source="numbers" reference="contacts">
<Datagrid>
<TextField source="number"/>
<TextField source="type"/>
</Datagrid>
</ReferenceArrayField>

</SimpleShowLayout>
</Show>
)
};

最佳答案

ReferenceArrayField 用于引用当前记录之外的表/集。因此,在呈现联系人本身时引用 联系人 并不是很明智,而且对于数据结构也不需要引用。

普通的 ArrayField 应该可以完成这项工作,因为记录的 numbers 字段已经是一个包含对象的数组 - 只需以这种方式迭代它们:

*请注意,上面代码段中的 type -> typeId 有错字。来源应严格匹配 API Prop 名称。

<ArrayField source="numbers">
<Datagrid>
<TextField source="number"/>
<TextField source="typeId"/>
</Datagrid>
</ArrayField>

关于javascript - 在 React-Admin 中显示一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65098512/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com