文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

vue处理一千张图片进行分页加载思路详解

2023-02-17 12:03

关注

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

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

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

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

总数据:

在这里插入图片描述

思路:

//dataList 在data中定义的数组来接收总数居
//imgList 在data中定义的数组来接受页面显示图片的数组

我们在这个方法中需要给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">
    <img
     class="screen-img"
     :src="item.img"
     :key="index"
     :alt="item.name"
    />
   	<div class="title">{{ item.name }}</div>
  </div>
</el-card>

//分页
<pagination
  v-show="toggPage.total > 0"
  :total="toggPage.total"
  :page.sync="toggPage.currentPage"
  :limit.sycn="toggPage.size"
  @pagination="togghandleCurrentChange"
 />
//因为业务需求封装的方法
queryImgList(){
	//给页面家了一个loading
	this.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 = true
	this.toggPage.size = val.limit
	this.toggPage.currentPage = val.page
	//记得将数据先制空在进行赋值,否则你懂的
	this.imgList = []
	//获取当前页面的数据
	let minNum = (val.page - 1)*val.limit
    let maxNum = val.page*val.limit
    this.imgList = this.dataList.slice(minNum,maxNum)
    this.imgloading = false
}

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

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

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

具体代码:

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

以上就很完美啦!!!

到此这篇关于vue处理一千张图片进行分页加载的文章就介绍到这了,更多相关vue图片分页内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯