网上很多教程的解决方法大都治标不治本,
都是在DataSource当中加入key值,其实antd当中已经有该项的配置,大部分人只是没有找到。
报错内容
warning.js?2149:7 Warning: [antdv: Each record in table should have a unique `key` prop,or set `rowKey` to an unique primary key.]
Warning: [antdv: Table] Each record in dataSource of table should have a unique `key` prop, or set `rowKey` of Table to an unique primary key,
原因
<a-table>
没有设置:rowKey
导致的
正规解决方法:
:rowKey='record=>record.id'
或者
:rowKey="(record,index)=>{return index}">
完整a-table
表格应该有的元素:
<a-table
:columns="columns"
:data-source="datasource"
defaultExpandAllRows
v-if="datasource.length>0"
:pagination="false"
:rowKey='record=>record.id'
>
<span slot="xxxxx" slot-scope="text, record">
<div class="ant-tag-blue">
{{ record.xxxx }}
</div>
</span>
</a-table>
columns: [
{
title: '名称',
dataIndex: 'title',
key: 'title',
},
{
title: '操作',
dataIndex: 'xxxxx',
key: 'xxxxx',
scopedSlots: { customRender: 'xxxxx' },
},
],