el-cascader 搜索选中后使用 getCheckedNodes() 获取不到当前勾选节点值

一、问题描述

在 el-cascader 中搜索并选中值后,通过触发 change 事件发现,可以拿到该勾选节点的值(由所选选项的 value 值组成的数组),但是由于需求还需要用到选中节点的 label 值,直接使用 getCheckedNodes() 获取选中节点值为 [ ],致使没办法拿到 label 值


二、解决办法

使用 this.$nextTick() 方法解决,就可以获取到了 

// 获取选中节点的值
this.$refs["NDepartment"].getCheckedNodes();

代码:

   NDepartmentChange(v) {
      // 处理 el-cascarder 搜索选中后拿不到 已选节点的值
      this.$nextTick(() => {
        // 获取选中节点,从中拿取 label 值
        const name = this.$refs["NDepartment"].getCheckedNodes()[0]?.pathLabels || [];
        this.cFormData.NDepartmentName = name.join("-");

        // 打印节点
        console.log("new-dept", this.$refs["NDepartment"].getCheckedNodes(), name, v);
      });
    },

【说明】:逐级选中不会出现这个问题,就很迷惑hhhh~~


就是这样,这个问题的发现还是通过业务的测试发现的,因为我都是 一级一级的选。。。,人家是直接搜索选中的

以上如有错误,欢迎并感谢每一程序员大佬的指正~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值