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

html5高端网站建设织梦模板下载郴州网站建设推广公司

html5高端网站建设织梦模板下载,郴州网站建设推广公司,开店加盟代理,商务网站建设实训总结vue处理一千张图片进行分页加载 开发过程中,如果后端一次性返回你1000多条图片或数据,那我们前端应该怎么用什么思路去更好的渲染呢? 第一种:我们可以使用分页加载 第二种:我们可以进行懒加载那我们用第一种方法使用…

vue处理一千张图片进行分页加载

开发过程中,如果后端一次性返回你1000多条图片或数据,那我们前端应该怎么用什么思路去更好的渲染呢?

第一种:我们可以使用分页加载
第二种:我们可以进行懒加载

那我们用第一种方法使用分页加载的方法进行渲染

总数据:
在这里插入图片描述

思路:

//dataList 在data中定义的数组来接收总数居
//imgList 在data中定义的数组来接受页面显示图片的数组
  • 第一步:我们定义一个数组并且将1000条数据赋值给它
  • 第二步:我们先解决分页的问题,我们使用el-pagination组件先给该组件 的"total"、"page"、"limit"分别赋值
  • 第三步:页面初始化的时候,我们首先加载dataList的前十条数据具体代码如下: this.imgList = this.dataList.slice(0,10)
  • 第三步:当我们点击分页时,我们给el-pagination组件添加@pagination事件,在事件的方法中,我们可以获取到当前页面以及当前显示条数
    我们在这个方法中需要给el-pagination组件中"size"、"page"参数赋值,然后在截取dataList在该页面的数据并且给imgList数组进行赋值。
   //获取该页的数据 let minNum = (val.page - 1)*val.limit let maxNum =val.page*val.limit this.imgList = dataList.slice(minNum,maxNum)

具体代码

//渲染容器
<el-card class="box-card"v-for="(item,index) in imglist":key="item"shadow="hover"><div class="box-card-div"><imgclass="screen-img":src="item.img":key="index":alt="item.name"/><div class="title">{{ item.name }}</div></div>
</el-card>//分页
<paginationv-show="toggPage.total > 0":total="toggPage.total":page.sync="toggPage.currentPage":limit.sycn="toggPage.size"@pagination="togghandleCurrentChange"/>
//因为业务需求封装的方法
queryImgList(){//给页面家了一个loadingthis.imgloading = true//获取分页总条数this.toggPage.total = this.dataList.length//页面初始化时显示的前十条数据this.imgList = dataList.slice(0,10)this.imgloading = false
},
togghandleCurrentChange(val){//如果不知道val可以在这打印console.log('val',val)this.imgloading = truethis.toggPage.size = val.limitthis.toggPage.currentPage = val.page//记得将数据先制空在进行赋值,否则你懂的this.imgList = []//获取当前页面的数据let minNum = (val.page - 1)*val.limitlet maxNum = val.page*val.limitthis.imgList = this.dataList.slice(minNum,maxNum)this.imgloading = false
}

以上就可以完美结果该需求了,因为我们需求更复杂,删了不少代码

如果更想完美可以它加一个模糊查询
我们以图片名称或者某个字段进行查询
思路:

queryImgValue //输入框绑定的值
queryBtn // 查询按钮事件方法名称

  • 第一步: 添加一个el-input给输入框绑定一个v-model,然后添加el-button并且添加一个@click事件
  • 第二步: 点击按钮触发queryBtn方法,在该方法中循环dataList然后根据循环的item.namequeryImgValue进行匹配,如果包含输入的值就push到一个新数组并且给this.imgList进行赋值

具体代码:

queryBtn(){//之所以判断是否为空 -----如果用户没有输入直接点击就没必要再去执行下面代码if(this.queryImgValue){let img = []//循环该数据进行匹配this.dataList.forEach(item => {//如果name包含用户输入的名称将该条数据push到新数组中if(item.name.includes(this.queryImgValue)){img.push(item)}})//赋值给imgList,不要忘记还需要给查询的总条数赋值哟this.imglist = imgthis.toggPage.total = this.imglist.length}
}

以上就很完美啦!!!

http://www.tj-hxxt.cn/news/30522.html

相关文章:

  • wordpress auto draft长沙网站seo哪家公司好
  • ipa文件自己网站怎么做下载自己怎么免费做网站
  • 华为手机网站建设策划方案win7优化极致性能
  • 网站建设具体步骤win7优化软件
  • 开一家网络公司需要什么网站优化方式有哪些
  • 上海外贸网站设计新闻媒体发稿平台
  • 企业网站推广的线上渠道有哪些?seo指的是什么意思
  • 个人网站怎么备案可以做哪些优化器
  • 广州荔湾网站制作做百度推广多少钱
  • 政府网站建设和管理制度五个常用的搜索引擎
  • 怎么办个人网站网络营销推广公司简介
  • 优秀企业网站首页上海网络营销有限公司
  • wordpress变论坛南昌百度搜索排名优化
  • 跨境电商需要投资多少seo网上培训多少钱
  • 建设银行的官方网站电脑版百度免费咨询
  • 网站到期只续域名不续空间能打开吗长沙百度推广运营公司
  • 网页设计和网页美工优化人员是什么意思
  • 营销推广方法中国seo第一人
  • 动画制作专业学校排名aso关键词优化工具
  • 火鸟门户系统seo排名优化首页
  • 网站 做 app开发工具网店seo名词解释
  • 成品网站建设咨询在线之家
  • 打开网站的语音播报怎么做app推广注册放单平台
  • 天津 网站建设今天刚刚发生的新闻台湾新闻
  • 安阳县高级中学厦门seo关键词排名
  • 基于wap的企业网站设计与实现网络广告文案范文
  • 个人备案可以建企业网站吗重庆网站建设维护
  • 网站建设行业赚钱么seo泛目录培训
  • 合肥商城网站建设北京官方seo搜索引擎优化推荐
  • 出版社网站建设平台推广引流