需求:展示树形组织机构
问题:接口获取的数据是一个嵌套结构,返回字段与ant-design的a-tree-select所需字段不一致
解决办法1:递归(大佬可以补充一下递归代码)
解决办法2:接口返回的数据转换为字符串然后正则匹配所需要修改的字段(ant-design需要的字段是title和value字段,value字段一定要匹配,不然勾选后没有选中效果!!!!!!!!)
我用的是第二种:代码如下
接口返回数据格式如下:
console.log("getTreeDatares======", res);
let str = JSON.stringify(res.data)
// let str = res.data.toString() 失败
let newStr = str.replace(/name/g, 'title') // 注意replace方法并不会改变源字符串 需要新的变量接收
let newStrs = newStr.replace(/id/g, 'value') //value一定也要字段匹配 不然选择后没有选中状态
console.log("newStrs======", newStrs);
// 再将字符串转回数组
treeData.value = JSON.parse(newStrs)
console.log("treeData==",treeData.value)
显示ok