网上大多数说在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赋值的数组进行不为空的判断,但是我这里没这个需求,只是后端的而已。
排查结束,问题解决。