el-cascader动态懒加载子项

33 篇文章 0 订阅

本菜鸡真的是遇到的时候蒙了,后端说,给我一个接口,然后拿到父级id的时候再调接口把id穿进去再查子级,我当时是懵的,这咋玩…
然后,同事说可以用懒加载,恍然大悟…
效果如下
在这里插入图片描述
代码如下,

  <el-form-item label="评价项" prop="name">
            <el-cascader
               ref="treeList"
              v-model="creditAddForm.name" 
              :props="cascaderProps"
              :show-all-levels="false"
              @change="handelChangeNameList"
              ref="cascader"
            />
      </el-form-item>
 computed: {
    cascaderProps() {
      return {
        value: "id",
        checkStrictly: true,
        emitPath: false,
        lazy: true,
        lazyLoad: this.lazyLoad
      }
    },
    }
  },
// 在methods里面
 // 评价项懒加载
    lazyLoad(node, resolve) {
      const { value } = node
      /* 获取企业评价项 */
      this.$services["credit/common-json"]
        .getTypeTree({
          applyTo: "10900002",
          id: value || undefined,
          page: 1,
          pageSize: 99999
        })
        .then(res => {
          const nodes = res.map(item => ({
            ...item,
            label: item.name,
            value: item.id,
            leaf: item.bottom
          }))
          resolve(nodes)
        })
        .finally(() => {
          this.loading = false
        })
    },
    handelChangeNameList(){
    const checkedNodes = this.$refs['treeList'].getCheckedNodes()
     console.log(checkedNodes) // 获取当前点击的节点
    console.log(checkedNodes[0].data.label) // 获取当前点击的节点的label
    console.log(checkedNodes[0].pathLabels) // 获取由 label 组成的数组
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值