vue el-cascader组件change失效以及下拉框不消失的问题

文章目录

      • 1.前言
      • 2. 碰到的问题
      • 3. 如何解决这两个问题

1.前言

最近项目上用到el-cascader这个组件,需要可以选第一级菜单,也需要可以选第二级菜单,点击完成之后需要关闭下拉框。其实功能比较简单,找了很多资料,没有找到合适的方案,下面还是自己想了个方案才解决问题

2. 碰到的问题

1.如何让下拉框消失?
2.change方法只是值发生改变才会触发,如果是同一个值就不会触发这个方法,我看有些人还去改源码?

3. 如何解决这两个问题

首先需要change方法

    //关闭联级面板cascaderChange() {//监听值发生变化就关闭它this.$refs.cascaderLocation.dropDownVisible = false;this.$refs.cascaderType.dropDownVisible = false;},

然后还需要visible-change这个方法,当下拉框出现值为true,下拉框消失值为false

//地点
<el-cascaderv-model="formSearch.location":show-all-levels="false":options="locations":props="{ checkStrictly: true, expandTrigger: 'hover' }"ref="cascaderLocation"@change="cascaderChange"clearablestyle="width:210px;"@visible-change="value => cascaderVisibleChange(value, 'location')"
></el-cascader>//算法类型
<el-cascaderv-model="formSearch.type":show-all-levels="false":options="algorithms":props="{ checkStrictly: true, expandTrigger: 'hover' }"style="width:130px;"ref="cascaderType"@change="cascaderChange"@visible-change="value => cascaderVisibleChange(value, 'type')"
></el-cascader>

项目里面用了两种类型的,逻辑是当点开下拉框,先把原始值保存起来,再把值直接赋值为空,保存起来的目的是防止用户没选直接关闭了下拉框,这种情况就需要用到原来保存起来的值

cascaderVisibleChange(value, type) {if (value) {if (type == "location") {this.oldLocation = this.formSearch.location;this.formSearch.location = "";} else if (type == "type") {this.oldType = this.formSearch.type;this.formSearch.type = "";}} else {if (type == "location" && !this.formSearch.location) {this.formSearch.location = this.oldLocation;} else if (type == "type" && !this.formSearch.type) {this.formSearch.type = this.oldType;}}
}

结果如下图:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/277118.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三层交换,DHCP的详解与VRRP

目录 一、三层交换 1、三层交换机的作用&#xff1a; 2.vlan的虚拟接口vlanif&#xff08;ifinterface接口&#xff09; 3.三层交换机实验 4.拓展实验​编辑 二、DHCP 1.自动获取ip地址&#xff1a; 2.DHCP的好处&#xff1a; 3.分配方式&#xff1a; 4.举例&#xff…

Redis 过期删除策略、内存回收策略、单线程理解

不知从何开始Redis的内存淘汰策略也开始被人问及&#xff0c;卷&#xff01;真的是太卷了。难不成要我们去阅读Redis源码吗&#xff0c;其实问题的答案&#xff0c;在Redis中的配置文件中全有&#xff0c;不需要你阅读源码、这个东西就是个老八股&#xff0c;估计问这个东西是想…

代码随想录算法训练营Day2 | 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II

LeetCode 977 有序数组的平方 本题思路&#xff1a;最容易想到的就是使用暴力循环的方式&#xff0c;将数组每个值都平方&#xff0c;然后进行一个排序操作。但是这样做&#xff0c;使用快排&#xff0c;它的复杂度也是 ologn。 所以&#xff0c;我们可以尝试用双指针的方法 &…

构建智能预约系统小程序:技术实现详解

随着移动互联网的发展&#xff0c;预约上门系统小程序成为服务行业中的一项创新解决方案。在这篇文章中&#xff0c;我们将深入研究如何使用技术构建一个强大而高效的预约上门系统小程序&#xff0c;并为你提供详细的技术实现步骤。 1. 开发环境准备 首先&#xff0c;确保你…

离散型概率密度函数的分布列⇔分布函数

目录 一、super误区 1.分布函数的定义 二、分布列⇒分布函数 二、分布列⇐分布函数 一、super误区 我在读定义的时候陷入了一个误区&#xff0c;与大家分享一下。 1.分布函数的定义 由于是离散型的概率密度函数&#xff0c;我把他抽象到数轴上理解&#xff1a; 如下分布…

【加法减法选择计数器_2023.12.15】

功能 计数器位宽为 4&#xff1b;可以实现同步清零&#xff0c;及同步置数的功能&#xff1b;通过一个输入信号来选择&#xff0c;实现加法计数和减法计数&#xff1a; 如果加到最大值后继续加&#xff0c;或减到0后继续减时&#xff0c;计数器不变&#xff1b; 实现 sel端口…

从零开始搭建链上dex自动化价差套利程序(13)

优化 优化触发条件&#xff1a; 之前的触发条件有问题&#xff0c;导致迟迟不能触发&#xff0c;优化后触发条件如下&#xff1a; dydx_take 0.0002apex_make 0.0005​float(b_first_price_apex)-float(s_first_price_dydx) > float(b_first_price_apex)*apex_makefloat…

论文查重过多怎么降重 神码ai

大家好&#xff0c;今天来聊聊论文查重过多怎么降重&#xff0c;希望能给大家提供一点参考。 以下是针对论文重复率高的情况&#xff0c;提供一些修改建议和技巧&#xff0c;可以借助此类工具&#xff1a; 论文查重过多怎么降重 当论文查重率过高时&#xff0c;需要进行降重处…

IDEA调整内存大小

一、IDEA开启内存显示 双击shift,搜索show memory indicator 打开后重启&#xff0c;右下角显示IDEA内存占用情况 开启后右下角会显示 二、调整内存 双击shift,搜索vmoption 修改-Xms和-Xmx参数&#xff0c;如下&#xff1a; -Xms:最小内存 -Xmx:最大内存 设置完成后&…

安装LLaMA-Factory微调chatglm3,修改自我认知

安装git clone https://github.com/hiyouga/LLaMA-Factory.git conda create -n llama_factory python3.10 conda activate llama_factory cd LLaMA-Factory pip install -r requirements.txt 之后运行 单卡训练&#xff0c; CUDA_VISIBLE_DEVICES0 python src/train_web.py…

基于若依搭建微服务nacos版本(ruoyi-Cloud前后端分离)

说明&#xff1a;本文介绍基于Ruoyi-Cloud前后端分离nacos版本的微服务从0到1的搭建过程&#xff0c;同时新增一个新的微服务模块。是基于官方文档的补充说明&#xff0c;需要结合Ruoyi-Cloud的官方文档 https://doc.ruoyi.vip/ruoyi-cloud/ 如果直接查看官方文档便可成功部署&…

maven工程中读取resources中的资源文件

maven工程的代码布局如下&#xff1a;在resources下面有一个资源文件test.properties&#xff0c;现在的目标要在Java代码中读取该资源文件中的内容。 test.properties资源文件的内容如下&#xff1a; Java代码如下&#xff1a; package com.thb;import java.io.BufferedR…