element下拉框,滚动加载更多数据

element下拉框没有自带下拉加载更多数据的操作,所以需要自定义一些指令

第一步:新建一个JS

import Vue from 'vue'

Vue.directive('loadmore', {
  bind (el, binding) {
    // 获取element-ui定义好的scroll盒子
    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 == false) {
        binding.value()
      }
    })
  }
})


第二部:在main.js引用新建的js
// 注册滚动条加载触发事件v-loadmore绑定
import selectDirectives from '@/utils/selectDrectives'
Vue.use(selectDirectives)

第三步:在组件中使用
   <el-select data-type="normal" filterable v-model="form.lineNo" **v-loadmore="loadMore"**>
                <el-option v-for="(item,index) in lineOptions" :key="index" :label="item.lineName" :value="item.lineNo"></el-option>
              </el-select>
         
         注意:这里的loadMore需要在methods中自定义请求操作方法
         
         methods:{
           loadMore(){
  
        this.getList();  //这我是请求下拉框数据的方法
      },           
   //获取下拉框数据
      getList(){
      //这里的canmore,需要在data中定义,默认为true
        if(!**this.canmore**){
          return
        }
        this.data.pageNum++;
        getLineTableList(this.data).then(res=>{
          // this.lineOptions = res.rows;
          if(res.rows.length>0){
            this.lineOptions = this.lineOptions.concat(res.rows);
          }else{
            this.canmore=false;
          }
        })

      },
}   
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
element是一种流行的前端UI库,提供了丰富的组件和工具,其中包括下框(select)组件。当下框中的选项过多时,我们希望能够实现下数据的触底,即当用户滚动到下框的底部时,自动多的选项。 要实现下数据触底,我们可以结合element提供的功能来完成。首先,我们可以利用下框组件的滚动事件(@scroll)来监听用户滚动操作。通过判断下框的滚动位置(scrollTop和scrollHeight),我们可以确定用户是否已滚动到底部。 当用户滚动到下框的底部时,我们可以调用一个函数,从后端获取多的选项数据。我们可以通过element提供的API,如下框的remote方法或自定义的远程函数来实现。 在函数中,我们可以向后端发送异步请求,获取多的选项数据。一般来说,我们可以通过分页的方式来数据,每次请求一定数量的选项。当然,也可以根据实际情况设计其他的方式。 最后,我们将获取到的选项数据到下框的选项列表中,让用户可以看到新的选项。这里可以使用element的选项数据(options)属性,动态新下框的选项列表。 综上所述,我们可以通过监听下框的滚动事件,判断用户是否已滚动到底部并触发函数,从后端获取多的选项数据,并将其添到下框的选项列表中。这样就实现了下数据的触底
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玖逸少女梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值