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

element ui下拉框踩坑

问题一:
下拉框失焦事件失效
场景:
给下拉框进行多选和可以进行筛选,添加了change事件然后进行失焦事件时,发现添加@blur失败,并没有触发函数
在这里插入图片描述
解决方案:
给el-select添加ref,然后在聚焦事件触发的时候添加

   name为select的refthis.$refs[name].$refs.input.blur = () => {console.log("发现失焦时触发了该事件")}

这个时候,当失焦的时候就会触发这个失焦事件

问题二:
同时添加了change和remove-tag(多选删除触发函数)的时候,会先触发change
解决方案:
可以在remove-tag中阻止默认的change事件,然后在处理完所有逻辑后手动触发一个自定义的change事件或者重新设置下拉框的值以触发change事件

html<el-select v-model="selected" @change="handleChange" @remove-tag="handleRemoveTag"><el-optionv-for="item in options":key="item.value":label="item.label":value="item.value"></el-option><template #default="{ handleClose }"><el-tagv-for="tag in selected":key="tag"closable@close="handleClose(tag)">{{ tag }}</el-tag></template>
</el-select>js
export default {data() {return {selected: [],options: [{ value: 'Option1', label: 'Option 1' }, { value: 'Option2', label: 'Option 2' }]};},methods: {handleChange(value) {console.log('Change event triggered', value);// 这里可以添加其他逻辑},handleRemoveTag(removedTag) {// 阻止默认的change事件,因为remove-tag会先触发,然后是change(除非你手动触发)console.log('Remove tag triggered', removedTag);// 处理删除逻辑后,可以重新设置selected以触发change事件,或者手动调用change方法this.selected = this.selected.filter(tag => tag !== removedTag); // 重新设置selected以触发change事件this.$nextTick(() => {this.handleChange(this.selected); // 手动触发change事件,确保顺序正确});}}
};

方案2:
如果你只是想确保在删除标签后立即执行某些操作,并且希望这些操作在change事件之前执行,你可以在remove-tag中使用$nextTick来确保这些操作在DOM更新后执行。但这种方法主要用于确保操作的时序性,不直接用于触发事件

handleRemoveTag(removedTag) {console.log('Remove tag triggered', removedTag);// 在这里执行你的逻辑,比如过滤数组等this.selected = this.selected.filter(tag => tag !== removedTag); // 更新数组但不立即触发change事件this.$nextTick(() => {// 在DOM更新后执行,但不直接用于触发change事件,因为change通常由数据变化自动触发this.handleChange(this.selected); // 手动调用change方法(如果需要)来模拟行为,但不是必需的,因为数据变化会自动触发change事件。});
}

问题三:
下拉框层级问题
场景:当给自己写的元素添加了定位后,希望这元素再最高层,希望它的层级高于element ui弹窗的层级,于是加了高层级,发现下拉框的下拉选项和日期插件的弹窗都到了下面,如图
在这里插入图片描述
解决方案:给下拉框或者日期插件天机popper-class=“set-popper-class”,set-popper-class为自己定义的class,可以更改这些气泡的层级

  <el-select v-model="value" placeholder="请选择"  popper-class="set-popper-class"><el-optionv-for="item in options":key="item.value":label="item.label":value="item.value"></el-option></el-select>css:   **不要加scope**.date-popper-class {z-index: 5001 !important;}

问题四:
如何修改搜索结果的为空的下拉框文字
解决方案,添加no-data-text

	<el-selectv-model="value"placeholder="请选择":no-data-text="'暂无数据'"><el-option></el-option></el-select>
http://www.dtcms.com/a/557312.html

相关文章:

  • 【仿RabbitMQ的发布订阅式消息队列】--- 服务端模块
  • C++ vector使用技巧:高效管理动态数据
  • (论文速读)CUT3R:具有持续状态的连续三维感知模型
  • 网站的flash怎么做的hyip网站开发
  • 上海网站建设润滋广州做鞋的网站
  • 互联网大厂Java面试:从Spring Boot到微服务的探索
  • *@AI 辅助模块化开发流程(通用于任意软件)的摘要与架构关系图
  • Python与区块链:如何用Web3.py与以太坊交互
  • TCP Socket(TCP 套接字)和 WebSocket 区别详解
  • 佛山网站建设正规公司深圳旅游网站建设
  • Rust之结构体(Structs):构建自定义数据类型
  • Vue3项目实战:从0到1开发企业级中后台系统(1):颠覆认知!这才是搭建Vue3项目的“正确姿势”
  • Spring Boot将错误日志发送到企微微信或钉钉群
  • 安徽省建设业协会网站wordpress怎么上传视频教程
  • 规划网站的总结网站建设开发合同范本
  • wordpress虚拟资源下载源码seo服务运用什么技术
  • 最近的面试,被打击了(随笔)
  • CSS:现代Web设计的不同技术
  • 淘宝搜索关键词排名查询工具海口seo快速排名优化
  • Spring AI--RAG知识库
  • [已更新]2025大湾区杯粤港澳金融数学建模B题数据代码思路文章完整讲解:稳定币的综合评价与发展分析
  • Java Web 开发:JSON 基础 + @Test 测试 + Cookie/Session/ 请求处理
  • 做的比较好的卡车网站桂林网上商城
  • 营销建设网站制作浙江软装设计公司
  • MIP与VR:医学影像处理与虚拟现实技术详解
  • 如何用虚拟主机建设网站房地产项目网站建设
  • 快速上手大模型:深度学习3(实践:线性神经网络Softmax)
  • 网站 标准规划电子商务网站建设方案
  • 阻塞队列(BlockingQueue)原理、实现与应用:多线程编程中的核心数据结构
  • mstscax!CCC::CCFSMProc调试记录设置为1打开调试开关