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

学院网站群建设的目标业之峰装饰公司官网

学院网站群建设的目标,业之峰装饰公司官网,西宁网站系统建设,杭州营销型网站怎么做先看一个线上的演示示例#xff1a;https://code.juejin.cn/pen/7273352811440504889 背景 我们在实际开发中经常遇到这样的需求#xff1a; el-select实现懒加载#xff0c;用通俗的话说#xff0c;为了增加响应速度#xff0c;就是初始下拉只展示50条数据#xff0c…先看一个线上的演示示例https://code.juejin.cn/pen/7273352811440504889 背景 我们在实际开发中经常遇到这样的需求 el-select实现懒加载用通俗的话说为了增加响应速度就是初始下拉只展示50条数据滚动条下拉到底部后再次调用接口增量加载接下来的50条数据重复该情况直到数据加载完成。 实现思路  首先需要后端提供接口支持分页查询 前端调用接口需要传参当前页currentPage和每页展示条数pageNumber每次滚动条滚动到底部后 currentPage  比如初次调用接口currentPage1pageNumber50那么第二次调用时候currentPage2pageNumber50以此类推。 那么我们如何知道滚动条滚动到底部了呢 参考链接https://blog.csdn.net/weixin_43340372/article/details/132210911?spm1001.2014.3001.5502 以上我们理解了如何判断滚动条滚动到底部了 那么当滚动条滚动到底部后如何触发加载方法呢 vue给我们提供了自定义指令 新建自定义指令el-select-lazyloading帮定到el-select元素上在元素第一次帮定的时候会调用 bind方法 通过这两个类.el-select-dropdown .el-select-dropdown__wrap我们可以拿到滚动的盒子 对该盒子添加scroll滚动事件滚动到底部时触发方法。 具体实现 Api 为了更接近真实我们先模仿一个接口调用。 // 伪造接口调用 class Api {#baseData [{value: 选项1,label: 黄金糕}, {value: 选项2,label: 双皮奶}, {value: 选项3,label: 蚵仔煎}, {value: 选项4,label: 龙须面}, {value: 选项5,label: 北京烤鸭}, {value: 选项7,label: 北京烤鸭1}, {value: 选项8,label: 北京烤鸭2}, {value: 选项9,label: 北京烤鸭3}, {value: 选项10,label: 北京烤鸭4}]getData(currentPage 1, pageNumber 10) {return new Promise(resolve {setTimeout(() {let data [];if (currentPage 1) {data this.#baseData.map(item ({ value: item.value currentPage-${currentPage}, label: item.label currentPage-${currentPage} }))} else {data this.#baseData;}resolve(data);}, 1000)})} } const api new Api(); 以上代码中首先新建了一个Api类在该类中提供了每次调用接口的基础数据baseData 看到这里大家可能会有疑问为什么baseData前要加一个#号#baseData代表为私有属性只能在本类中访问 getData方法接受两个传参第一个当前页currentPage第二个每页的条数pageNumber 调用接口1秒后返回数据 代码结构 div idapp选择活动el-select v-modelvalue stylewidth: 300px v-el-select-lazyloadinglazyloadingel-option :labelitem.label :valueitem.value v-foritem in list :keyitem.value/el-option/el-select /divscript // 伪造接口调用 class Api {#baseData [{value: 选项1,label: 黄金糕}, {value: 选项2,label: 双皮奶}, {value: 选项3,label: 蚵仔煎}, {value: 选项4,label: 龙须面}, {value: 选项5,label: 北京烤鸭}, {value: 选项7,label: 北京烤鸭1}, {value: 选项8,label: 北京烤鸭2}, {value: 选项9,label: 北京烤鸭3}, {value: 选项10,label: 北京烤鸭4}]getData(currentPage 1, pageNumber 10) {return new Promise(resolve {setTimeout(() {let data [];if (currentPage 1) {data this.#baseData.map(item ({ value: item.value currentPage-${currentPage}, label: item.label currentPage-${currentPage} }))} else {data this.#baseData;}resolve(data);}, 1000)})} } const api new Api(); // 全局注册组件 new Vue({el: #app,directives: {el-select-lazyloading: {bind(el, binding) {let SELECT_DOM el.querySelector(.el-select-dropdown .el-select-dropdown__wrap);SELECT_DOM.addEventListener(scroll, function () {let condition this.scrollHeight - this.scrollTop this.clientHeight;if (condition) {binding.value();}});},},},data() {return {currentPage: 1,pageNumber: 10,value: ,list: [],};},methods: {async lazyloading() {this.loading true;const data await api.getData(this.currentPage);this.loading false;this.list.push(...data);this.currentPage;}},mounted() {this.lazyloading();} })/script 参考链接 https://blog.csdn.net/weixin_43340372/article/details/132210911?spm1001.2014.3001.5502
http://www.dnsts.com.cn/news/252912.html

相关文章:

  • 北京创意网站建设win7如何安装iis来浏览asp网站
  • 信誉好的做网站凡客登录
  • 打开网站的语音播报怎么做dede网站婚纱模板
  • 做网站 合肥淘宝网站建设合同
  • 最新免费网站源码资源网站烟台 网站设计
  • 大型网站开发技术百度信息流是什么
  • 网站外链建设需要逐步进行适可优化即可家电企业网站推广方案
  • 婚恋网站西宁软件网站建设
  • 英文网站开发wordpress支付宝接口
  • 建设银行网站怎么查自己账号加强文明网站建设
  • 怎么把自己的网站发布到网上新媒体营销的方式
  • 怎么修改网站的关键词模板网站如何建站
  • 做球服的网站有哪些取消wordpress还原
  • 做视频网站要注意什么设计师建站网站
  • 毕业设计用PHP做旅游网站wordpress 好主题哦
  • 韶关网站建设无锡app制作
  • 三水网站建设企业seo短视频网页入口营销策略
  • 青岛建站推广自动推广引流app
  • 南隼深圳网站建设前端项目
  • 北京网站备案拍照烟台网站建设 烟台网亿网络公司
  • 网站建设应用技术网站首页英文
  • 制作表格的步骤如何进行优化
  • 专业的南京网站建设番禺门户网站建设
  • 做网站网页的工作怎么样网页上的视频怎么下载
  • 自己做网站花钱吗企业关键词优化公司
  • wordpress回收站+恢复最近军事新闻热点
  • 绍兴网站建设哪家专业怎么制作私人网站教程
  • 只做网站搜索排名影响因素
  • 建立站点的作用北京公司建网站一般需要多少钱
  • 哈尔滨建站公司网站运营内容包含哪些