如果你的数据都是这个样子的
{
"id": 1015,
"pid": 0,
"name": "电力、热力、燃气及水生产和供应业",
"children": [
{
"id": 1403,
"pid": 1015,
"name": "热力",
},
{
"id": 1404,
"pid": 1015,
"name": "燃气以及生产供应业",
},
{
"id": 1513,
"pid": 1015,
"name": "电力",
}
],
}
这个时候你需要把他们修改一下为其添加value属性和lable属性,value对应id,lable对应name,因为组件只识别value和lable
const data = res.data.data;
// 对数组中的每个元素进行处理
data.forEach((item: any) => addValueLabel(item));
setIndustry(data);
// 遍历数据并添加 value 和 label
function addValueLabel(item: { value: any; id: any; label: any; name: any; children: any[]; }) {
// 给当前项加上 value 和 label
item.value = item.id;
item.label = item.name;
// 如果有子项,递归添加
if (item.children && Array.isArray(item.children)) {
item.children.forEach((child: any) => addValueLabel(child));
}
}
然后使用form方法进行回显,写上对应的id就可以了