报错信息
Error: row is required when get row identity
问题:一直以为是el-table的表数据传输有问题,然后做了一堆排查后发现,其实不然
// 单击或者勾选的数据
selectPage(e) {
if(e.constructor === Array){
this.$refs.maintable.$refs.multipleTable.toggleRowSelection(
e[0],true
)
this.selectRows = e[0]
}else{
this.selectRows = e
this.$refs.maintable.$refs.multipleTable.toggleRowSelection(
e,true
)
}
},
原因分析:
getRowIdentity
此函数参数为空的时候也执行了,所以导致报错
解决方案:
我们只需要在外层加一个判断,在row为空的时候,不触发getRowIdentity函数即可
完整代码:
// 单击或者勾选的数据
selectPage(e) {
//必须要判断是否有选择数据否则toggleRowSelection方法会报错
if(e.constructor === Array && e.length>0){
this.$refs.maintable.$refs.multipleTable.toggleRowSelection(
e[0],true
)
this.selectRows = e[0]
}else{
this.selectRows = e
this.$refs.maintable.$refs.multipleTable.toggleRowSelection(
e,true
)
}
}