el-table “Error: row is required when get row identity“报错解决办法

本文介绍了如何通过排查数据初始化和赋值错误,解决el-table组件显示空数据的问题。关键步骤包括确认data对象正确设置和检查数据赋值逻辑,尤其是后端接口返回的意外情况。作者提供了实例代码和验证方法,帮助开发者避免此类常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
网上大多数说在row-key="id"等等解决办法,我试过了,都不行,于是看了一个大佬相似的源码分析。最后发现并解决了问题。

解决办法:

第一步、
去查找你代码中el-table绑定的这个data,比如:data="list",确保这个list在data中定义时不能是list:null,必须是list:[]

第二步、
如果你没有第一步的错误,这一步就是,确定在代码中的某个地方,这个list是否被赋值为空或者赋的值很奇怪,

比如请求接口之后,给list赋值,而接口返回值是这样的
在这里插入图片描述

此时数组为空,但是count条数却为1,这很矛盾,说明给list的赋值有问题

如何验证确实是这里的问题?
我们来给这里的list赋上不为空的值

// 获取用户总数列表
      getPerUseTimeList() {
        this.loading = true;
        this.$axios.get(‘接口URL, {
          params: {
           XXX
          }
        }).then(res => {
           // 原本代码
           // this.list = res.data.result.data;
           // 这里给list赋不为空的值
           this.list = ['111','222'] // 此时发现虽然表格没数据但是确实不报错了,足以验证是这里的问题
           this.list.total = res.data.result.count;
        });
      },

当然如果有需要你可以你也可以对将要给list赋值的数组进行不为空的判断,但是我这里没这个需求,只是后端的而已。

排查结束,问题解决。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值