如果调用的接口返回的数组数据中有重复的key,这个时候使用el-table
则报错:
原本我的想法是将获取的接口数据进行id另外处理,后面发现这样不行,会导致查看详情传送过去的id会是修改后的id 无法查看详情的情况:
// 修改每个对象的 id 为 id + type 的值
res.rows = res.rows.map((item) => {
return {
...item,
id: item.id + "_" + item.type,
};
});
所以,另外的改法,在el-table中修改key
在复用的模板中:
原来的写法:
:row-key="
(row) => {
return (
row[tableAttr.rowKey] || row.id || row._id || row.pid || row.uid
);
}
"
修改后的写法:
:key="tableAttr.type?tableAttr.id+tableAttr.type:tableAttr.id?tableAttr.id:tableAttr._id?tableAttr._id:tableAttr.pid?tableAttr.pid:tableAttr.uid"
最后展示: