vue el-select封装一个滚动加载更多下拉选项的自定义指令

没有什么讲究,直接上代码

  1. 模板部分
   <el-select
              v-model="operator"
              filterable
              remote
              size="small"
              reserve-keyword
              placeholder="请输入经办人姓名"
              :remote-method="remoteOperate"
              @change="selectOperateBlur"
              v-load-more="loadMore"
          >
            <el-option
                v-for="item in operatorList"
                :key="item.operator_user_id"
                :label="item.operator_true_name"
                :value="item.operator_user_id"
            >
            </el-option>
 </el-select>
  1. 自定义指令v-load-more编写
  directives: {
    loadMore: {
      bind: function (el, binding) {
        const SELECTWRAP_DOM = el.querySelector(
          ".el-select-dropdown .el-select-dropdown__wrap"
        );
        SELECTWRAP_DOM.addEventListener("scroll", function () {
          const CONDITION = this.scrollHeight - this.scrollTop <= this.clientHeight;
          if (CONDITION) {
            binding.value();
          }
        });
      },
    },
  },
  1. 调用的处理函数
loadMore() {
      //分页家内容
     //TODO 请求借口
   },
posted @   久宇诗  阅读(152)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示