Ant design-vue的a-table表格缺少rowkey,标识不唯一

时间:2025-03-10 08:57:30

产生原因:

        在a-table表格中,原本的rowkey为empno,但是由于查询全部数据的时候,empno不再是唯一值,导致异常出现:勾选一条empno会导致所有相同的empno全部勾选,但是又需要把勾选的行empno传回给后端。解决方法如下:把rowkey对应的换一个唯一标识的字段。再把需要传回去的字段替换回去就可以了。

解决方案:

方法1::rowKey=“record=>”

 <!-- number为表格数据data中的一个属性 -->
    <a-table
      ref="table"
      size="middle"
      :rowKey="record=>" 
      :columns="columns"
      :data-source="data""
    >

方法2::rowKey="(record,index)=>{return index}"

<!-- 表格区 -->
    <!-- record为为每条数据,index为索引 -->
    <a-table
      ref="table"
      size="middle"
      :rowKey="(record,index)=>{return index}" 
      :columns="columns"
      :data-source="data""
    >

方法3:rowKey=“number”

<!-- 表格区 -->
    <!-- number为表格数据data中的一个属性,此时不需要:冒号 -->
    <a-table
      ref="table"
      size="middle"
      rowKey="number"
      :columns="columns"
      :data-source="data""
    >

当前问题解决方法:

<a-table
        ref="table"
        size="small"
        bordered
        :rowClassName="rowClass"
        :rowKey="(record) => "
        :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
        :columns="cols"
        :data-source="data"
        :pagination="paginationOption"
        @change="onChange"
      >
onSelectChange (selectedRowKeys, selectedRows) {
       = (row => )
       = selectedRowKeys
    },
<!-- data里面 -->
selectedRowEmpNo: []