<el-cascader :props="props" v-model="value" ref="cascader"></el-cascader>
<script>
let id = 0;
export default {
data() {
return {
value: "", //绑定的value(正常为[],本文为"")
props: {
emitPath: false,
lazy: true,
label: "name",
value: "id",
lazy: true,
lazyLoad (node, resolve) {
const { level } = node;
setTimeout(() => {
const nodes = Array.from({ length: level + 1 })
.map(item => ({
value: ++id,
label: `选项${id}`,
leaf: level >= 2
}));
// 通过调用resolve将子节点数据返回,通知组件数据加载完成
resolve(nodes);
}, 1000);
}
}
};
}
};
</script>
重点赋值
watch: {
//赋值
value(val) {
if (val === "xxxxx") {
setTimeout(() => {
this.$refs.cascader.presentText =
"回显的文案";
}, 50);
}
}
//回显
//value(val) {
// setTimeout(() => {
// this.$refs.cascader.presentText =
// "接口返回的文案";
// }, 50);
// }
//}
},
methods: {
handleChange() {
this.value = "xxxxx"; //主动赋值或者接口的值
}
}