el-cascader:懒加载子级数据 调接口 ,重新打开有3级菜单的控件,调接口回显不显示,没有调第二级的接口
<el-cascader
class="item_cascader"
style="width: 100%"
v-model="item.expansionAttribute.AllCity"
:props="props"
:placeholder="placeholder"
@change="
inputChange(
dataObj,
code,
item.expansionAttribute.AllCity,
tableId,
index,
item
)
"
@paste.native="
pasteControl($event, itemData, index, colIndex, code)
"
@focus="focusColumn(itemData[code])"
:disabled="!item.editable"
:id="contolid"
:style="computedStyle(item, index)"
ref="cascader"
clearable
filterable
show-all-levels="true"
>
</el-cascader>
data() {
return {
props:{
label:'name',
value:'code',
lazy: true,
lazyLoad:(node, resolve) =>{
debugger
if(node.level == 0 ){
if(this.item.expansionAttribute.cellAddress == 1){
node.level == 0;
}
this.queryTree(node, resolve)
}
else if(node.level == 1){
if(this.item.expansionAttribute.cellAddress == 2){
node.level == 1
}
this.queryMoreTree(node, resolve)
}
else{
node.level == 2
this.queryEndTree(node, resolve);
}
}
}
};
},
methods:{
//获取第一级单位
queryTree(node, resolve) {
//此处要将本单位id作为参数提交
var obj = {
province: 1,
};
GetProvince(obj).then((res) => {
var arr = [];
res.result.forEach((element) => {
var obj1 = {
code: element,
name: element,
// hasChildren:true
};
arr.push(obj1);
});
if (this.item.expansionAttribute.cellAddress == 1) {
arr.forEach((item) => {
item.leaf = true;
return {
code: item.code,
name: item.name,
leaf: item.leaf,
};
});
} else {
arr.forEach((item) => {
return {
code: item.code,
name: item.name,
leaf: false,
};
});
}
resolve(arr);
});
},
//获取第二级单位
queryMoreTree(node, resolve) {
debugger
//注意此处要将node.value,也就是点击的节点单位的id,作为查询被点击单位下级单位的参数提交
var obj = {
province: 2,
provincestr: node.label,
};
GetProvince(obj).then((res) => {
var arr = [];
res.result.forEach((element) => {
var obj1 = {
code: element,
name: element,
// hasChildren:true
};
arr.push(obj1);
});
if (this.item.expansionAttribute.cellAddress == 2) {
arr.forEach((item) => {
item.leaf = true;
return {
value: item.id,
label: item.text,
leaf: item.leaf,
};
});
} else {
arr.forEach((item) => {
return {
value: item.id,
label: item.text,
};
});
}
resolve(arr);
});
},
queryEndTree(node, resolve) {
//注意此处要将node.value,也就是点击的节点单位的id,作为查询被点击单位下级单位的参数提交
var obj = {
province: 3,
provincestr: node.pathLabels[0],
citystr: node.pathLabels[1],
};
GetProvince(obj).then((res) => {
var arr = [];
res.result.forEach((element) => {
var obj1 = {
code: element,
name: element,
hasChildren: false,
};
arr.push(obj1);
});
arr.forEach((item) => {
item.leaf = !item.hasChildren;
return {
value: item.id,
label: item.text,
level: true,
};
});
resolve(arr);
})
},
}