####在 iview-ui
中,级联选择器的数据格式是他们限制死的,但是后台伙伴传给我们的数据格式跟要求的格式不一致,只能自己动手去遍历重构数据了,方法如下
// 定义的map为后台返给自己的数据key值,res.data为后台返回的数据,按照下面格式,调用格式化数据的方法
const map = {
label: "newsCategoryName",
children: "list",
value: "newsCategoryCode"
};
this.tableData= this.convertTree(res.data, map);
convertTree(tree, map) {
const result = [];
tree.forEach(item => {
// 读取 map 的键值映射
item[map.children] = item[map.children]
? item[map.children]
: [];
let expand = false;
let label = item[map.label];
let value = item[map.value];
let children = item[map.children] ? item[map.children] : null;
// 如果有子节点,递归
if (children) {
children = this.convertTree(children, map);
}
result.push({ expand, label, value, children });
});
return result;
},