如标题所示错误,直译是key为undefined。本次是因为使用了element-ui中的el-table组件所以并不是key为undefined,而是后台返回的key有重复。
当key重复就会出现页面卡死的现象,渲染就会失败。
key在使用时我们要注意:
1.在渲染时该识别为不同时,识别为相同
2.在渲染时该识别为相同,却识别为了不同
解决问题如下:文章来源:https://www.toymoban.com/news/detail-436513.html
getRowKey(row) {
/** 检查row.id是否有重复的缓存对象 */
if (!this.checkRepeatObj) {
this.checkRepeatObj = {}
}
if (row) {
if (row.id) {
if (this.checkRepeatObj[row.id]) {
if (!row._secondId) {
row._secondId = Math.random() + ''
}
/** 方便根据key重用元素 */
return row._secondId
} else {
this.checkRepeatObj[row.id] = 1
return row.id
}
}
console.log('row.id为空')
if (!row._secondId) {
row._secondId = Math.random() + ''
}
return row._secondId
} else {
console.log('row为空')
return Math.random() + ''
}
}文章来源地址https://www.toymoban.com/news/detail-436513.html
到了这里,关于Cannot read properties of undefined (reading ‘key‘)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!