在使用 element-ui 2.7.2版本的时候报下面的错误:
[Vue warn]: Error in callback for watcher "data": "Error: if there's nested data, rowKey is required."
表面的意思是如果有嵌套的数据,需要在el-table标签中新增row-key字段。查阅文档element-ui 2.7.0 增加对树形结构数据的支持 ,而row-key是针对支持树类型的数据。
而我需要的是展开行这个功能?
已下面这个为例反复实现了几次:
<el-table :data="tableData"></el-table>
当tableData数据格式为以下形式时使用表格展开行功能,无任何问题
tableData: [{
name: '好滋好味鸡蛋仔',
category: '江浙小吃、小吃零食',
desc: '荷兰优质淡奶,奶香浓而不腻',
}]
当tableData数据格式为以下形式会出现上面的报错:
tableData: [{
name: '好滋好味鸡蛋仔',
category: '江浙小吃、小吃零食',
desc: '荷兰优质淡奶,奶香浓而不腻',
children:[{
name:'土鸡蛋',
desc:'美味...'
}]
}]
问题就出现在key为children名字上,如果换成其他命名不会报错。。。。
如下可使用array.map函数处理下数据就可以解决问题了。。。
let handleData = tableData.map(item => {
return {
name: item.name,
category: item.category,
desc: item.desc,
childrens: item.children
};
});