如何将<Datagrid />的行id值更改为其他属性值

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

<Datagrid />
组件似乎会自动将每行的id设置为记录的
id
属性

这是我的记录:

[
   {
      id: "d28dda00-a835-4fb2-956d-b70b168fc2ab",
      name: "Harry Potter",
      price: "10",
      sale_id: "a92dda11-7bfb-414e-a757-0051aad2fc5b",
   },
   {
    ...
   }
]

如果我们选择复选框,我们可以在

selectedIds
属性中看到这样的

['d28dda00-a835-4fb2-956d-b70b168fc2ab']

而不是使用

id
属性,我希望 Datagrid 使用
sale_id
作为行的 id

所以结果会是这样的:

['a92dda11-7bfb-414e-a757-0051aad2fc5b']

我该怎么做?

谢谢,

reactjs react-admin
1个回答
0
投票

您可以创建一个函数,将每条记录的

sale_id
映射到
id
,然后再将数据传递到
Datagrid
组件。

const saleIdToId = (data) => {
  return data.map(record => ({
    ...record, id: record.sale_id
  }));
};

然后在您的应用程序内通行证

const newRecords = saleIdToId(records);

Datagrid
组件。

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