当前位置: 代码迷 >> 综合 >> 【el-table】报Error: if there‘s nested data,rowKey is required原因及解决方法
  详细解决方案

【el-table】报Error: if there‘s nested data,rowKey is required原因及解决方法

热度:44   发布时间:2024-02-07 11:05:22.0

【el-table】报Error: if there’s nested data, rowKey is required原因及解决方法


报错

在这里插入图片描述


版本:

element-ui: 2.7.0

原因:

row-key对应的值一定不能为空(如null,false,0,undefined), 如果为空一定要手动添加一个唯一的随机码


解决方法

在获取获取接口数据时,先检查一遍数据,确保数据中所有rowKey的值都不为空值,再将数据赋值到对应变量
<template><el-table:data="data"row-key="id"lazy:load="load":tree-props="{children: 'children', hasChildren: 'hasChildren'}"><el-table-columntype="index"label="#"/><el-table-columnprop="name"label="名称"/><el-table-columnprop="detail"label="详情"/></el-table>
</template><script> import { api } from '@/api/index' export default {name: '',data() {return {data: []}}method: {async load(row, treeNode, resolve) {const { records } = await api()// 可以先在回调之前将records中的数据检查一遍,确保row-key(id)不为空,再调用resolverecords.forEach((item, index) => {const { id } = item// 如果rowKey(id),那么随机生成一个idif (!id) {this.$set(item, 'id', Math.random() * 10000 + index)}})// 确保都有rowKey后,调用回调resolve(records)}} } </script>
  相关解决方案