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

即时通讯网站开发源码seo中介平台

即时通讯网站开发源码,seo中介平台,90设计网站可以商用吗,ftp可以发布网站吗一:背景 我们这个穿梭框获取的是项目的全量数据,在左边大概有5000条,自己测试了一下5000条数据的效果,发现异常的卡顿,本来打算像el-select一样去解决的(只显示一部分,在搜索的时候去全量搜索&a…

一:背景


我们这个穿梭框获取的是项目的全量数据,在左边大概有5000条,自己测试了一下5000条数据的效果,发现异常的卡顿,本来打算像el-select一样去解决的(只显示一部分,在搜索的时候去全量搜索,奈何这个搜索方法不支持远程搜索,只能弃用该解决方案),一顿百度跟ai搜索,感觉答案都比较模糊,所以记录一下该解决方案。

二:解决方案一(最简单):

参考:el-transffer大数据量页面卡顿优化

a.安装
npm install el-virtual-transfer --save
b.使用

组件内导入注册一下即可使用:

import ElTransferVirtual from 'element-transfer-virtual'
components: { ElTransferVirtual }
c.替换组件名

直接用ElTransferVirtual替换你的el-transfer组件名就行了。其他的都不用变

<template><div class="home"><el-virtual-transferfilterable:filter-method="filterMethod"filter-placeholder="请输入城市拼音"v-model="value":data="data"></el-virtual-transfer></div>
</template><script>
import ElVirtualTransfer from 'el-virtual-transfer';
export default {name: 'HomeView',data() {const generateData = _ => {const data = [];// 生成 3000 个数据for (let i = 0; i < 3000; i++) {const label = `城市${i + 1}`;const key = i;const pinyin = `chengshi${i + 1}`;data.push({label: label,key: key,pinyin: pinyin});}return data;};return {data: generateData(),value: [],filterMethod(query, item) {return item.pinyin.indexOf(query) > -1;}};},created() {},methods: {},components: {ElVirtualTransfer}
};
</script>

d.优缺点:
优点:使用十分的简单,只需要安装依赖替换组件名即可
缺点:该组件方案只上传到了npm,但是并没有开源。我的意思是,如果你的数据是全量数据(获取全量数据不卡的话),就可以直接使用这个方案,毕竟简单。( 如果获取全量数据卡的话,你可以在用户进入页面时就去静默分批的获取这个数据,也是一种解决方案)

三:解决方案二(拓展性强):

参考: Element-UI的transfer穿梭框组件数据量大解决方案

a.在components下面新建一个文件夹,用来存放组件

main.vue , transfer-checkbox-item.vue ,transfer-panel.vue的内容我就不贴了。可以直接去我的demo上复制过来就可以用了。

这里还要安装一个插件(代码里用到了虚拟滚动的插件):

npm i vue-virtual-scroll-list
b.自定义指令代码

因为组件内用到了一个自定义指令,所以需要把这个自定义指令的代码复制过来,在directives文件夹下,直接把我的代码(infinite-scroll整个文件夹)复制过来就行。并且在main.js上注册一下:

c.main.js注册自定义指令:
import InfiniteScroll from '@/directives/infinite-scroll'; // 替换为实际路径
InfiniteScroll.install(Vue);
d.替换组件名,并且传入 :virtual-scroll="true"激活虚拟列表

直接用Transfer替换你的el-transfer组件名就行了,并且一定要传入:virtual-scroll=“true”,不然跟原来的el-transfer没有区别,还是会很卡。

<template><div class="about"><Transferfilterable:filter-method="filterMethod"filter-placeholder="请输入城市拼音"v-model="value":data="data":virtual-scroll="true"></Transfer></div>
</template><script>
import Transfer from '@/components/Transfer/main.vue';
export default {name: 'HomeView',data() {const generateData = _ => {const data = [];// 生成 3000 个数据for (let i = 0; i < 9000; i++) {const label = `城市${i + 1}`;const key = i;const pinyin = `chengshi${i + 1}`;data.push({label: label,key: key,pinyin: pinyin});}return data;};return {data: generateData(),value: [],filterMethod(query, item) {return item.pinyin.indexOf(query) > -1;}};},created() {},methods: {},components: {Transfer}
};
</script>

e.优缺点:

优点:1.源码都已经给你了,可以根据自己的项目来自定义 2.上面那个方案只能传入全量的数据,但是这个方案因为源码都给你了,你可以修改源码,在一开始的时候只加载部分数据,然后用户下拉的时候再去加载更多的数据,搜索的话,你可以用全量数据来搜索

缺点: 需要复制的内容过多

四.原理

大家可以把项目demo跑起来看一下,其实都是修改了el-transfer的源码,然后结合虚拟列表的组件来使dom渲染的结构更少。具体虚拟列表的原理,大家可以自行百度下: 其核心思想就是在处理用户滚动时,只改变列表在可视区域的渲染部分,然后translate来让渲染的列表偏移到可视区域中,给用户平滑滚动的感觉。

其实原理都是一样的,大家如果能采用的话,还是尽量采用第一种方案,因为已经压缩过了,代码体积更小。

五.demo源码地址

github: https://github.com/rui-rui-an/el_transfer_big_data


文章转载自:

http://gJe12S7T.nfzzf.cn
http://H4x8dRce.nfzzf.cn
http://Z26YTgdB.nfzzf.cn
http://MWSLMSTP.nfzzf.cn
http://4grgWE4k.nfzzf.cn
http://kG7EgobG.nfzzf.cn
http://hv4ZuZ6H.nfzzf.cn
http://bwwwyx6Q.nfzzf.cn
http://njgRsIEL.nfzzf.cn
http://fo1IUV8t.nfzzf.cn
http://BbwVt4UT.nfzzf.cn
http://YoIrth9R.nfzzf.cn
http://FwwbN0ik.nfzzf.cn
http://RPvxICGe.nfzzf.cn
http://2t3YU51h.nfzzf.cn
http://NuxiJ5tC.nfzzf.cn
http://Cl0AHKXV.nfzzf.cn
http://6Kutc6o6.nfzzf.cn
http://aSJgahdC.nfzzf.cn
http://6xv51YmF.nfzzf.cn
http://vOJXvzuZ.nfzzf.cn
http://d6EIXgmC.nfzzf.cn
http://D7K9999H.nfzzf.cn
http://KLwgQQ0O.nfzzf.cn
http://HU6ygt0e.nfzzf.cn
http://tSXUZDvx.nfzzf.cn
http://bsCrqgsb.nfzzf.cn
http://Gp88zjFE.nfzzf.cn
http://GOkjaSVN.nfzzf.cn
http://APvmT1B2.nfzzf.cn
http://www.dtcms.com/wzjs/715622.html

相关文章:

  • 做网站最少多少钱免费模板网站都有什么区别
  • 制作链接的app的软件有哪些网站人多怎么优化
  • 缅甸网站后缀seo优化包括哪些
  • 还有网站吗wordpress图片文章
  • 北京seo营销培训seo网站建设费用
  • 徐家汇网站建html5 珠宝网站
  • 山东招标网官方网站银河互联网电视有限公司
  • 赣榆网站建设wordpress中文下载方法
  • 烟台市福山区住房和建设局网站重庆知名网络公司
  • 北京模板建站选择网站开发公司的标准
  • 从网站优化之角度出发做网站策划56做视频网站
  • 使用asp.net制作网站的整体过程中信建设有限责任公司崔玮
  • 模板生成网站怎么创建手机网站
  • 专做火影黄图的网站wordpress标题怎么写
  • 网站优化如何收费wap企业网站源码
  • 2018年做淘宝客网站需要备案嘛十大网站开发公司
  • 重庆市建设领域农民工工资专户网站最新提升关键词排名软件
  • 公司要求做网站公众号wordpress
  • 汕头高端模板建站网络工程师证书报考条件
  • 凡客诚品的网站特色郑州企业建设网站有什么用
  • 电商网站设计思路动叫建个网站刷排名
  • 网站建设类的论文题目唯艾迪 wordpress
  • 整站seo优化哪家好模板wordpress演示站怎么做
  • asp.net 网站安全 检测免费网站建设模板下载
  • 做竞赛的平台或网站哪个网站可以看一级a做爰片t
  • 做的比较好的网站推荐事业单位网站设计
  • 抖音运营推广策划方案东莞公司网站做优化
  • 别人用我的备案信息做网站长沙做网站的价格
  • 用php做的网站有哪些成功案例
  • 试玩平台网站开发佛系wordpress博客