当前位置: 首页 > news >正文

数字营销网站建设学seo网络推广

数字营销网站建设,学seo网络推广,政府网站建设十强,合肥制作网站价格el-select: element-ui组件中的select下拉选择组件,支持单选、多选等 虚拟列表: 虚拟列表是一种优化技术,用于处理大型列表。在传统的列表中,当用户滚动到底部时,列表会加载所有的数据,这可能导…
el-select:

        element-ui组件中的select下拉选择组件,支持单选、多选等

虚拟列表:

        虚拟列表是一种优化技术,用于处理大型列表。在传统的列表中,当用户滚动到底部时,列表会加载所有的数据,这可能导致性能问题和内存泄漏。虚拟列表通过只加载当前可见的部分数据,而不是整个列表的数据来解决这个问题。当用户滚动到新的区域时,虚拟列表会自动加载新的数据,从而提高性能和响应速度。这种技术通常与虚拟滚动结合使用,可以在保持高性能和流畅性的同时,支持大量的数据呈现。

背景:

        在做管理系统,下拉选择框是个必备功能,在实际开发中,下拉数据量是不可控的,el-select虽然有过滤筛选等功能,但是如果数据过大的时候,会导致浏览器卡死,在切换页面时,销毁这个也很耗时,导致页面切换体验性很差,所以需要处理这种情况!

最简单处理方案:

        默认下拉是空,只支持过滤筛选,实现:filterMethod,可以手动控制展示的数据量

最终处理方案:

        用虚拟列表策略处理,重新封装el-select组件

<template><el-selectv-model="selected":filter-method="filterMethod":value-key="props.key ? props.key : props.value"@focus="selectMethod"filterableclearabledefault-first-optionv-bind="$attrs"v-on="$listeners"ref="customSelect"><template slot="prefix"><slot name="prefix"></slot></template><el-option v-for="item in selectList" :key="item[props.key ? props.key : props.value]" :value="item[props.value]" :label="item[props.label]"></el-option></el-select>
</template><script>
import { throttle } from '@/utils/debounce';
export default {props: {value: [String, Number, Array],props: {type: Object,default: () => {return {value: 'id',label: 'name',};},},data: {type: Array,default: () => [],},},computed: {selected: {get() {return this.value;},set(val) {this.$emit('input', val);},},},data() {return {scrollDom: null,selectList: [],filterList: [],page: 1,size: 20,};},watch: {data: {immediate: true,handler(val) {val.length && this.initSelect();},},},mounted() {this.scrollDom = this.$refs.customSelect.$refs.scrollbar.$refs.wrap;this.scrollDom.addEventListener('scroll', throttle(this.handlerScroll, 200));},beforeDestroy() {this.scrollDom.removeEventListener('scroll', throttle(this.handlerScroll, 200));},methods: {handlerScroll() {// TODO:监听滚动,触发加载if (this.scrollDom.scrollHeight - this.scrollDom.scrollTop - 1 <= this.scrollDom.clientHeight) {this.loadData();}},firstLoad() {// 初始化数据this.page = 1;const len = this.filterList.length;if (len <= this.size) {this.selectList = this.filterList;} else {this.selectList = this.filterList.slice(0, this.size);}},selectMethod() {let param = this.selected;if (Object.prototype.toString.call(this.selected) === '[object Array]') {param = this.selected.join('');}if (param) {// TODO:有值不需要重置查询, 但当组件初始化的时候selected有值回显有问题} else {this.filterMethod('');}},filterMethod(str) {this.filterList = this.data.filter(item => {return item[this.props.label] && item[this.props.label].indexOf(str) > -1;});this.firstLoad();},initSelect() {let param = this.selected;if (Object.prototype.toString.call(this.selected) === '[object Array]') {param = this.selected.join('');}if (param) {// 筛选this.filterList = this.data.filter(item => {return param.indexOf(item[this.props.value]) > -1;});this.selectList = this.filterList;}},loadData() {if (this.filterList.length <= this.page * this.size) {// 最后一页return;}++this.page;const len = this.page * this.size;if (this.filterList.length <= len) {this.selectList = this.filterList;} else {this.selectList = this.filterList.slice(0, len);}},},
};
</script>
http://www.15wanjia.com/news/37851.html

相关文章:

  • 公司网站公司百度首页 百度
  • 哪个网站可以做汽车评估青岛优化网站关键词
  • 建设自己的网站首页网络营销岗位技能
  • 手机网站模块关键词优化排名软件案例
  • 大连做网站的小说引流推广
  • 查看网站有没有做301图片外链工具
  • 网站源码下载软件竞价恶意点击立案标准
  • 美食网站建设方案网游百度搜索风云榜
  • 公司门户网站建设费计入什么科目seo专员是什么职业
  • iis添加网站主机名网站快速收录
  • 博物馆网站做的好的北京网站排名seo
  • 厦门哪里有做网站网络优化工程师骗局
  • 免费企业网站建站百度认证平台
  • 企业在网站建设中需要做什么长沙网站设计
  • seo技术推广刷seo排名
  • 郴州 网站建设网络推广公司简介
  • 长春专业企业网站建设价格免费网站seo优化
  • 白云区pc端网站建设中国企业500强
  • wordpress详情页图片放大优化步骤
  • 昆明企业建站程序win7优化大师官网
  • 做软件项目需不需要有网站怎样上百度做广告
  • 食品 骏域网站建设专家成都网站快速排名优化
  • 编程和做网站有关系吗扬州seo优化
  • 网站建设平台软件哪个好用seo外链代发
  • 做网站宣传多少钱陕西网站推广公司
  • 网站制作要用哪些软件有哪些seo优化培训班
  • 独立的网站app推广渠道有哪些
  • 西藏自治区建设厅教育网站优化设计答案四年级上册语文
  • 网站首页排版设计美国今天刚刚发生的新闻
  • 网站要咋做网站制作 网站建设