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); // 处理选择逻辑
  }
}
相关推荐
yuanlaile4 分钟前
前端转 Flutter 自学完整规划,避开跨栈思维转换误区
前端·flutter·flutter跨平台开发
CN_HW6 分钟前
Nginx 流量镜像配置文档-双轨国产化
服务器·前端·网络
姑苏倾城客6 分钟前
Flutter中,html 与 dart 桥接沟通
javascript·flutter·html
JNX_SEMI21 分钟前
ATR2652 GNSS双频LNA:0.75dB噪声系数与22dB高增益设计
前端·单片机·嵌入式硬件·物联网·硬件工程
拾年27536 分钟前
Node.js 异步进化论:从 path 路径拼接到 fs 文件读取,我终于理解了回调地狱的救赎之路
前端·node.js
花颜yyds1 小时前
React Konva 开发基础速查手册
前端
小粉粉hhh1 小时前
Node.js(五)——编写接口
前端·javascript·node.js
MegatronKing1 小时前
AI时代我们要如何玩抓包测试
前端·后端·测试
uhakadotcom1 小时前
Scrapy-Redis 里面提供哪些即开即用的功能能力模块
前端·面试·github
大意的百合2 小时前
Electron 应用如何上架微软商店:从 MSIX 打包到商店提交
javascript·microsoft·electron