在使用 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
};
});