当前位置: 首页 > news >正文

vue2 el-select下拉选择框 点击其他位置或者弹窗关闭下拉框/点击取消时,下拉框变成之前的值

1.elSelect点击空白处无法收起下拉框(失去焦点并隐藏)

// 定义指令
directives: {clickOutside: {bind: function (el, binding, vnode) {el.clickOutsideEvent = function (event) { // here I check that click was outside the el and his childrensif (!(el === event.target || el.contains(event.target))) { // and if it did, call method provided in attribute valuevnode.context[binding.expression](event)}}document.body.addEventListener('click', el.clickOutsideEvent)},unbind: function (el) {document.body.removeEventListener('click', el.clickOutsideEvent)}}
},

使用方法

ref="select"

v-clickOutside="clickOutSide"

 methods里加个 clickOutSide

clickOutSide () {this.$refs.select.blur()   关闭},

2.点击取消时,下拉框的值变成之前的值

<el-select v-model="form.projectId" placeholder="请搜索并选择项目" style="width: 95%" clearablefilterable ref="select"@change="projectChange"> <el-option v-for="item in projectOptions" :key="item.id":label="item.projectName" :value="item.id"></el-option> 
</el-select> watch: {'form.projectId': function(projectId,oldVal) {if(projectId) {this.step = 1// 初始化调用附件信息if(this.form.projectId != '1' && this.form.projectId != ''){this.getProjectFileList(this.form.projectId)}}this.olval = oldVal;console.log(projectId,oldVal)},immediate: true,
},methods:{projectChange(data) {this.$confirm('请再三确认,该合同绑定的项目是否正确,发起审批后所选项目将无法修改!', '提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'}).then(() => {// 自己的逻辑this.$refs.select.blur()} else {// 自己的逻辑this.$refs.select.blur()}}).catch(() => {//将监听到的旧值赋给点击的值this.form.projectId = this.olval;this.$message({type: 'info',message: '已取消'});          this.$refs.select.blur()});},
}

elSelect点击空白处无法收起下拉框(失去焦点并隐藏) - 好运的菜狗 - 博客园

el-select切换选项时提示是否继续,点击取消值不变,确定值改变_el-select选中前触发动作 确定后才改变-CSDN博客

http://www.dtcms.com/a/264357.html

相关文章:

  • 2025年跨端云真机测试平台深度测评:XR与折叠屏时代的兼容性之战
  • 《量化开发》系列 第 1 篇:金融知识基础入门指南(附 GitHub 学习项目)
  • 什么是 BigKey?
  • 定时器的设计
  • 电源芯片之DCDC初探索ING
  • 用lines_gauss的width属性提取缺陷
  • 视频内存太大怎么压缩变小一点?视频压缩的常用方法
  • 复现nanoGPT——train.py(详细版拆解)
  • k8s将service的IP对应的不同端口分配到不同的pod上
  • 【普通人学AI】玩转 Prompt 提示词工程 (一)
  • 使用 icinga2 写入 TDengine
  • 翻译《The Old New Thing》- 解除路径的 MAX_PATH 限制仅适用于路径本身
  • 通过http调用来访问neo4j时报错,curl -X POST 执行指令报错
  • C# 程序:查看 PageUp 热键消息映射表
  • torch.nn
  • Vue 安装使用教程
  • [Python] -基础篇8-Python中的注释与代码风格PEP8指南
  • muduo
  • SQL学习笔记6
  • OpenCV篇——项目(一)OCR识别读取银行卡号码
  • 在 Docker 容器中使用内网穿透
  • ubuntu 安装QT
  • 【python】三元表达式
  • Jeecg前端经验汇总
  • 扫描电子显微镜(SEM)夏令营面试基础题及答案
  • 五个元素一行均分三个换行且有间距,如何均分布局
  • 设计模式之上下文对象设计模式
  • 机器学习在智能金融风险评估中的应用:信用评分与欺诈检测
  • 电脑键盘不能打字了怎么解决 查看恢复方法
  • 无人机一机多控技术要点难点