首页 > 其他分享 >el-select 无限下拉滚动加载数据

el-select 无限下拉滚动加载数据

时间:2023-07-29 15:35:25浏览次数:31  
标签:el selectLoadMore item stashList customerList select 加载

 

<template>   <div>     <el-form       ref="saveParameter"       :model="saveParameter"       inline       inline-message       style="margin:10px"     >       <el-form-item label="供应商" prop="lngcustomerid">         <el-select           v-model="saveParameter.lngcustomerid"           v-loadmore="loadMore()"           style="width: 180px;"           clearable           :filter-method="filterMethod"           filterable           @visible-change="visibleChange"         >           <el-option             v-for="item in stashList.slice(0,rangeNum)"             :key="item.treedataid"             :value="item.treedataid"             :label="item.treedatacodeandname"           />         </el-select>       </el-form-item>     </el-form>       </div> </template>
<script> import { res } from './data.js' import selectLoadMore from '@/layout/mixin/selectLoadMore' import PinyinMatch from 'pinyin-match'   export default {   name: 'SelectScroll',   components: { listScroll },   mixins: [selectLoadMore],   data() {     return {       rangeNum: 10,       customerList: res.data,       stashList: res.data,       saveParameter: {         lngcustomerid: 7402       }
    }   },   created() {     this.findById(this.saveParameter.lngcustomerid)   },   methods: {     loadMore() {       // eslint-disable-next-line         return () => this.rangeNum += 2     },     filterMethod(newVal) {       if (newVal) {         this.stashList = this.customerList.filter((item) => {           return PinyinMatch.match(item.treedatacodeandname, newVal)         })       } else {         this.stashList = this.customerList       }     },     visibleChange(val) {       // if判断,防止搜索的数据选中后,多一次下拉隐藏       if (val === true) {         this.stashList = this.customerList       }     },     // 查看编辑的时候赋值     findById(id) {       var o = []       if (this.customerList.some(item => {         if (item.treedataid === id) {           o.push(item)           return true         }       })) {         this.stashList = this._.unionBy(o, this.stashList, 'treedataid')       }     }   } } </script>
selectLoadMore.js
export default { directives: { 'loadmore': { bind(el, binding) { const SELECT_DOM = el.querySelector('.el-select-dropdown .el-select-dropdown__wrap') SELECT_DOM.addEventListener('scroll', function() { const condition = this.scrollHeight - this.scrollTop <= this.clientHeight if (condition) binding.value() }) } } } }

 

标签:el,selectLoadMore,item,stashList,customerList,select,加载
From: https://www.cnblogs.com/hellofangfang/p/17589884.html

相关文章

  • 前端性能优化策略:加速网页加载时间的关键技巧
    引言:在当今互联网时代,网页加载速度是提供出色用户体验的关键因素之一。快速加载的网页不仅可以吸引更多用户,还可以提高转化率和搜索引擎排名。因此,前端性能优化成为每个开发人员和网站所有者都应该关注的重要议题。本文将介绍一些关键的前端性能优化策略,帮助您加速网页加载时间并......
  • Java学习-1.jdk和IntelliJ IDEA安装
    1.jdk下载与安装下载地址:https://www.oracle.com/java/technologies/downloads/#jdk20-windows 环境配置:1.我的电脑–》右键属性–》高级系统设置–》环境变量2.系统变量–》新建系统变量–》完成后点击确定3.双击系统变量下的PATH变量,新建两个路径(最下方两个)4. 新......
  • Linux Shell脚本中的空格
    =等号两边必须无空格,否则报错;如:i=$1和i=$1都是错误的。但是在()内部不限制如for((i=1;i<3;i=i+1))(())内外括号之间无空格,写成(())这样会报错。但内部括号不限制如s=$(($i+1))[]是条件判断式,所以前后内部都必须有空格。其内部元素之间必须有空格才能识别,否则一律......
  • xshell连接liunx服务器身份验证不能选择password
    ssh用户身份验证不能选择password 只能用publickey的解决办法 问题现象使用密码通过Workbench或SSH方式(例如PuTTY、Xshell、SecureCRT等)远程登录ECS实例时,遇到服务器禁用了密码登录方式错误. 可能原因该问题是由于SSH服务对应配置文件/etc/ssh/sshd_config中的参数Pa......
  • 当使用create table ... as select建表时报错ERROR 1786
    问题描述:当使用createtable...asselect建表时报错ERROR1786.数据库:mysql5.7.211、异常重现mysql>createtablebooksbakasselect*frombooks;ERROR1786(HY000):StatementviolatesGTIDconsistency:CREATETABLE...SELECT.2、异常原因ERROR1786是由于开......
  • .netcore 中高性能队列Channel的应用与封装
          Channel存在于命名空间System.Threading.Channels中,是.net一种新型的线程安全集合,提供了发布和订阅消息处理功能,在一个服务中若接收消息和处理消息都很频繁,且处理消息耗时较长时,Channel是一种好的处理方式。1、创建Channel方式(支持泛型消息格式) 支持5种创建......
  • vue3 TS vite element ali-oss使用方式
    vue3TSviteelementali-oss使用方式安装ali-oss包npmiali-oss-S使用oss封装函数constOSS=require('ali-oss')//importOssfrom'ali-oss'/***[accessKeyId]{String}:通过阿里云控制台创建的AccessKey。*[accessKeySecret]{String}:通过阿里云控制......
  • redis sentinel 工作原理
    二工作原理2.1Sentinel构成一个完整的sentinel集群包括两个部分:哨兵节点(sentinel):负责监控redis和sentinel节点的运行情况。数据节点:即redis节点,包含主从节点。2.2Sentinel机制redis使用(sentinel)的工作原理是:redis使用一组sentinel节点来监控主从redis服务......
  • Pixelmator Pro 3.3.10 Mosaic (macOS Universal) - 专业图像编辑工具
    PixelmatorPro3.3.10Mosaic(macOSUniversal)-专业图像编辑工具请访问原文链接:https://sysin.org/blog/pixelmator-pro-3/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgPixelmatorPro真正基于AppleMac技术构建,不像某些异类(A3和奥多比)写个文档和做个图都......
  • 根据图片搜索excel
    问题描述:在excel使用中,当我们用大量的excel记录图文信息的时候,如果excel过多,比如成百上千个,里面都是包含大量的图片。这个时候如果想要根据图片快速找到这张图片可能被哪些excel包含,手动查找肯定比较繁琐,实际工作中我们发现很多使用excel这样记录信息的人都有这个烦恼,我们可以做一......