elementUI中el-cascader组件懒加载地区

<template>
<el-cascader
                  style="width: 90%"
                  v-model="areaList"
                  :props="propsdata"
                  :key="isResouceone"
                  is-leaf
                  @change="handleChangeAddress"
                ></el-cascader>
</template>
<script>
export default {
  name: "xxx",
  components: { },
  data() {
    return {
 areaList: [], // 地区下拉框
      isResouceone: false,
      propsdata: {
        // 懒加载地区列表
        lazy: true,
        lazyLoad(node, resolve) {
          const { level } = node;
          setTimeout(() => {
            // 第一級
            if (node.level == 0) {
              // Ajax請求數據,填充選擇框
              // 接口请求获取省份
              getArea({ parentId: 0 }).then((response) => {
                const nodes = response.data.map((item) => ({
                  value: item.id,
                  label: item.name,
                  leaf: node.level >= 1,
                }));
                resolve(nodes);
              });
            }
            // 第二級
            if (node.level == 1) {
              // Ajax請求數據,填充選擇框,傳遞上一級參數
              // 接口请求,传递上以一级参数
              getArea({ parentId: node.value }).then((response) => {
                const nodes = response.data.map((item) => ({
                  value: item.id,
                  label: item.name,
                  leaf: node.level >= 1,
                }));
                resolve(nodes);
              });
            }
          }, 100);
        },
      },
}
},
created() {
},
methods(){
handleChangeAddress(value){     // 更改时调用
}
},
}

</script>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容