首页 > 其他分享 >vue el-select 下拉菜单 数据回显不在清除数据可编辑状态

vue el-select 下拉菜单 数据回显不在清除数据可编辑状态

时间:2023-10-25 18:34:52浏览次数:44  
标签:el shipBillNo vue form 下拉框 changeInput data 下拉菜单 select

思路:当点击options的时候,让select 失去焦点(跳到其他的地方),添加el-input 就是为了把光标跳转到其上面,然后将其隐藏掉,则为看不到光标点, 但是在点击第一次之后获取焦点focus之后,隐藏掉下拉菜单的时候 @blur是无效的,此时只能通过监听下拉框是否是隐藏和显示状态来让其失去焦点事件,所以需要使用 @visible-change="changeVisible" 来监听,true/false 来进行焦点跳转   代码: template: <el-form-item label="提单号" prop="shipBillNo" >                             <el-select                 v-model="form.shipBillNo"                 @change.native="selectChange"                 @focus="changeFocus"                 filterable                 clearable                 no-match-text=" "                 class="changeSelect"                 @visible-change="changeVisible"               >                 <el-option                   v-for="(item, index) in billNo_options"                   :key="index"                   :label="item"                   :value="item"                   @click.native="changeOptions(item)"                 />               </el-select>               <el-input  class="changeInput" ref="inputRef"></el-input>             </el-form-item>   Javascript      // 判断下拉框是否是隐藏 changeVisible(data){ // 如果下拉框是隐藏的时候,则让select 失去光标      if(!data){         this.changeInput();      }     },     selectChange(e){         this.$set(this.form,"shipBillNo",e.target.value);     },     // 切换光标     changeInput(){       this.$refs.inputRef.focus();     },     // 选中option     changeOptions(data){       this.form.shipBillNo ="";       this.$nextTick(()=>{         setTimeout(()=>{           this.$set(this.form,"shipBillNo",data);         },200)       })       this.changeInput();     },     // 下拉框获取光标     changeFocus(){       let shipBillNo = this.form.shipBillNo;       this.form.shipBillNo ="";       this.$nextTick(()=>{         setTimeout(()=>{           this.form.shipBillNo = shipBillNo;           this.$set(this.form,"shipBillNo",shipBillNo);         })         },200)           }   css: .changeInput{position: absolute; top: 0; left: 0; z-index: 0;} .changeSelect{ position: absolute;top: 0; left: 0; z-index: 1;}

标签:el,shipBillNo,vue,form,下拉框,changeInput,data,下拉菜单,select
From: https://www.cnblogs.com/rockyjs/p/17787863.html

相关文章

  • Linux/UNIX系统编程手册 Michael Kerrisk/孙剑 pdf电子版
    Linux/UNIX系统编程手册MichaelKerrisk/孙剑pdf电子版下载作者: MichaelKerrisk / 孙剑原作名: TheLinuxProgrammingInterface:ALinuxandUNIXSystemProgrammingHandbook出版年: 2014-1ISBN: 9787115328670连接提取码:hfkr内容确实组织得比APUE更适合系统学习......
  • 使用 content scripts 和 Vue Router 等技术在当前页面中注入和显示 Vue 单文件组件
    要在当前页面中注入和显示Vue单文件组件,您需要按照以下步骤操作:创建一个Vue项目:首先,确保您有一个Vue项目,包括您的Vue单文件组件以及相应的构建配置。将构建后的文件添加到插件目录:将Vue项目构建后生成的HTML、CSS和JavaScript文件添加到您的Chrome插件的目录中。编......
  • 【前端开发】基于vue+elemnt-ui流程图设计器解决方案
    前言越来越多的企业都在研发低代码平台,其中流程引擎是核心之一,拥有一个可以拖拽设计审批流程的设计器是相当重要的。介绍审批流程设计器是一种工具,用于创建和设计审批流程。它通常是一个可视化的设计器界面,可以方便地添加和配置审批节点、终审节点、消息节点等,并能够通过连线将......
  • Android系统SELinux详解
    前言SELinux是一种加强文件安全的一种策略,可以更好地保护我们的Android系统,比如限制系统服务的访问权限、控制应用对数据和系统日志的访问等措施,这样就降低了恶意软件的影响,并且可以防止因代码存在的缺陷而产生的对系统安全的影响。从系统安全方面考虑,SELinux是保护神,但是从软件开......
  • Laravel中的blade模板
    Blade简介当开发Laravel应用程序时,您将经常使用Blade模板引擎来构建和渲染视图。Blade是Laravel的默认模板引擎,它提供了简洁、直观的语法,使您能够轻松地编写动态的、可重用的视图。下面是一些Blade模板的常见特性和语法:输出变量:使用双花括号{{$variable}}来输出......
  • Metasploit Linux Reverse_Tcp Shellcode 源码分析
    分析Metasploitlinux/x64/shell/reverse_tcpshellcodeShellcode生成使用msfvenom生成c格式的stagedshellcode$msfvenom-plinux/x64/shell/reverse_tcp-fc-ax64--platformlinuxLHOST=192.168.48.233LPORT=4444Payloadsize:130bytesFinalsizeofcf......
  • shell 传参模板
    myscript.sh#!/bin/bashorg=""name=""#Definetheusagefunctionusage(){echo"Usage:$0[-o|--org<org>][-n|--name<name>][-h|--help]"exit1}#Definethehelpfunctionhelp(){echo"Thiss......
  • 获取 el-cascader 的输入值
    问题场景使用el-cascader级联选择器时,设置filterable可搜索选项。但怎样获取输入框的输入值呢?解决官方文档给出了如下事件:其中change事件获取到的是选中的选项的值,如果输入值不符合选项值(即没有选中),则无法获取输入值。那么为了获取到输入值,就只有用blur事件,即失去焦......
  • Lora升级!ReLoRa!最新论文 High-Rank Training Through Low-Rank Updates
    关注公众号TechLead,分享AI与云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。摘要尽管通过扩展导致具有数千亿参数的大型网络在统......
  • Vue日历插件
    <template><divclass="page"><divclass="calendar"><divstyle="display:flex;justify-content:space-between;align-items:center;border:1pxsol......