效果如下图
页面代码如图:
<el-cascader
v-model="cascaderValue"
:props="props"
style="width: 400px"
></el-cascader>
data(){
return{
props: {
lazy: true,
lazyLoad: this.getBackup,
},
}
},
methods:{
// 获取级联选择器的数据
getBackup(node, resolve) {
let _self = this;
const { level, value } = node;
switch (level) {
case 0:
// 第一级数据
historicalBackup().then((res) => {
let nodeArr = res.data.chinese.map((item) => ({
label: item,
value: res.data[item],
}));
_self.backupList = nodeArr;
resolve(nodeArr);
});
break;
case 1:
// 第二级数据
historicalBackupTable(value).then((res) => {
let nodeArr = res.data.map((item) => ({
label: item,
value: item,
leaf: true,//最后一级返回true
}));
resolve(nodeArr);
});
break;
default:
resolve([]);
break;
}
// 值回显
this.cascaderValue = JSON.parse(sessionStorage.getItem("cascaderValue"));
}
}
大功告成,欢迎各位大佬指教!!