React-Admin在列表组件中不显示列数据

问题描述 投票:0回答:1

我似乎无法理解为什么数据会丢失。这是我的领域。

<ReferenceField source="imageId" reference="files">
        <TextField source="urlPath" />
</ReferenceField>

这里是主模型的内容 papers 正在返回。

brandId: "b3dc4246-3adf-4f4e-9f81-294f23d24977"
brandModelId: "2819360d-2e6e-48e4-88a3-823a03177a7c"
colorId: "98031f74-a83f-4389-b9d6-bab959ff8a0e"
gsm: 200
id: "058cc13d-1255-4d9b-9ccf-e087ddb3935d"
imageId: "1bc99717-f60c-485e-989a-5d1726501b8d"
originalSize: "A4"
paperMaterialId: "5afd0d7c-5ace-49e3-a538-894ce288fe71"
paperSurfaceId: null
price: 12
ref: "44202129"
storeId: "2f7567ad-fa62-4bda-851b-89b8c39a189e"

以下是相关模型的内容 files 正在返回。

id: "1bc99717-f60c-485e-989a-5d1726501b8d"
originalFileName: "palette1.2.png"
type: "undefined"
urlPath: "asdf/101d7c68-9bf4-4d55-bbb5-818f62c480a3-palette1.2.png"

但这是我的截图,缺少数据。enter image description here

请注意,商店相关字段是有效的,它有完全相同的代码。

      <ReferenceField source="storeId" reference="stores">
        <TextField source="name" />
      </ReferenceField>

另外,这是我的 getMany dataProvider。

  getMany: (resource, params) => {
    const query = {
      filter: JSON.stringify({ id: params.ids }),
    };
    const url = `${API_URL_LOCAL}/${resource}?${stringify(query)}`;

    return request(url, 'get', {}, {}).then(({ data }) => ({
      data,
    }));
  },

欢迎任何帮助。

react-admin
1个回答
2
投票

如果你有一些参考字段在工作,而另一些字段不在工作,并且在控制台中没有记录任何错误,这可能意味着不工作的参考资源没有被声明为Admin子代,并没有使用 <Resource name="files" .../>.

从 react-admin docs。

注意:你必须在文件中添加一个 <Resource> 的引用资源--react-admin需要它来获取引用数据。如果你想在侧栏菜单中隐藏它,可以省略这个引用中的列表道具。

https:/marmelab.comreact-adminFields.html#referencefield。

如果没有引用资源工作,并且资源已经被正确声明,那么错误很可能取决于你的数据提供者。记录getMany请求的响应,看看它是否符合预期的格式,是否包含任何数据,而不是一个空数组。

getMany     { data: {Record[]}, validUntil?: {Date} }

{Record}是一个至少有id属性的对象文字,例如 { id: 123, title: "你好,世界"}。

响应中的validUntil字段是可选的。它启用了Application cache,这是一个客户端优化,以加快渲染速度,减少网络流量。

https:/marmelab.comreact-adminDataProviders.html#writing-your-own-data-provider。

© www.soinside.com 2019 - 2024. All rights reserved.