vue3 el-select 加载内容后 触发事件

在 Vue 3 中使用 Element UI 的 el-select 组件实现加载内容后触发事件,主要有以下两种常见需求及实现方式:

加载数据后触发事件

若需在数据加载完成后触发特定事件(如页面渲染完成),可通过自定义指令监听滚动容器状态:

复制代码
// 注册自定义指令
Vue.directive('loadmore', {
  bind: function(el, binding, vnode) {
    const dropdown = el.querySelector(".el-select-dropdown .el-select-dropdown__wrap");
    dropdown.addEventListener("scroll", function() {
      if (dropdown.scrollTop === 0 && dropdown.scrollHeight - dropdown.clientHeight <= dropdown.scrollTop) {
        // 触发加载事件
        binding.value();
      } 
    });
  }
});

使用时添加指令:

复制代码
<el-select v-model="value" @change="handleChange" v-loadmore="loadData">
  <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
  </el-option>
</el-select>

选择事件触发

若需每次选择后触发事件,直接使用原生 @change 事件即可:

复制代码
<el-select @change="handleChange" v-model="selectedValue">
  <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
  </el-option>
</el-select>

methods: {
  handleChange(value) {
    console.log(value); // 处理选择逻辑
  }
}
相关推荐
Web极客码9 分钟前
如何为WordPress启用LiteSpeed缓存
前端·缓存
咕噜分发企业签名APP加固彭于晏25 分钟前
白嫖价值千元的EO
前端·javascript
前端开发爱好者27 分钟前
首个「完整级」WebSocket 调试神器来了!
前端·javascript·vue.js
前端Hardy30 分钟前
HTML&CSS&JS:高颜值登录注册页面—建议收藏
前端·javascript·css
白雾茫茫丶31 分钟前
如何动态执行 JS 脚本
javascript
Ali酱32 分钟前
远程这两年,我才真正感受到——工作,原来可以不必吞噬生活。
前端·面试·远程工作
金金金__37 分钟前
优化前端性能必读:浏览器渲染流程原理全揭秘
前端·浏览器
Data_Adventure41 分钟前
Vue 3 手机外观组件库
前端·github copilot
泯泷1 小时前
Tiptap 深度教程(二):构建你的第一个编辑器
前端·架构·typescript
黑幕困兽1 小时前
vue 项目给输入框增加trim()方法
vue.js