vue2+elementUI+webpack项目,由于业务需求,需要一个多级联动的省市区的选择搜索项,由此做了一个搜索的通用组件
一开始直接引入elementUI的el-cascader动态加载数据实现
<el-cascader :props="props"></el-cascader>
<script>
let id = 0;
export default {
data() {
return {
props: {
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>
<template v-else-if="field.type === 10">
<el-ca