element联动选择器,选择任意层级点击文字即选中及点击就收缩效果

本文介绍如何使用 Vue.js 对级联选择器进行优化,包括实现点击文字即可选中及点击后的收缩效果。通过代码示例展示了如何在 mounted 生命周期钩子中设置定时器使元素可点击选中,以及如何利用 ref 属性来监听级联选择器的状态变化并实现在选择最后一级选项时自动关闭面板。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

效果图

代码点击文字即选中

在mounted里加这句话

  mounted() {
      
          	  // 点击文字即选中
		this.timer =  setInterval(function() {
      document.querySelectorAll(".el-cascader-node__label").forEach(el => {
        el.onclick = function() {
          if (this.previousElementSibling) this.previousElementSibling.click();
        };
      });
    }, 1000);
    },

点击就收缩效果

标签上 加ref 

   <el-cascader
                            size='mini'
                            :options="goodsOptions"
                            v-model='goods_cid_list'
                            :props="{ checkStrictly: true,
                            value:'id',
                            label:'name',
                            children:'children'}"
                            clearable
                            @change='goodsOptionsChange'
                            ref="cascaderHandle" 
                            :show-all-levels="false" 
                            filterable></el-cascader>
	goodsOptionsChange(e){
			
			 this.$refs.cascaderHandle.dropDownVisible = false; //监听值发生变化就关闭它
	// 监听是否为最后一级,如果为最后一级,面板收起
			var children = this.$refs.cascaderHandle.getCheckedNodes();
          if(children[0].children.length < 1){   //判断有没有下级
            this.$refs.cascaderHandle.dropDownVisible = false; //监听值发生变化就关闭它
		  }
			
        },

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值