vue3前端开发-小兔鲜项目-二级分类页面无限加载的实现

vue3前端开发-小兔鲜项目-二级分类页面无限加载的实现!实际的项目开发中,经常会遇到这需求。产品内容庞大,但是用户不可能一次性全部都加载请求的。当客户向下滚动,触碰到插件的底部时,会再次申请下一页内容。这样就会一直加载,直到反馈过来的集合为空停止。


第一步,还是准备好调用接口的函数

复制代码
// 加载更多
const disabled = ref(false)
const load = async () => {
  console.log('加载更多数据咯')
  // 获取下一页的数据
  reqData.value.page++
  const res = await getSubCategoryAPI(reqData.value)
  goodsList.value = [...goodsList.value, ...res.result.items]
  // 加载完毕 停止监听
  if (res.result.items.length === 0) {
    disabled.value = true
  }
}

第二步,修改标签属性,新增2个属性标签。

复制代码
<div class="body" v-infinite-scroll="load" :infinite-scroll-disabled="disabled">
         <!-- 商品列表-->
        <ProductItem v-for="goods in goodsList" :key="goods.id" :goods="goods" />
      </div>

我们这2个标签都是element-plus官方提供好的,我们直接调用就行了。


如图,我们已经向下翻页,一直翻看到了第十页了,还是有数据。

如图所示,我们一直向下翻页,到达了第19页的时候,发现了反馈过来的集合为空了。就不会再继续发送请求了。

如图代码所示,

我们做了判定条件,如果反馈过来的集合长度为0,说明没有内容了,我们就设置那个状态参数为true。让它失效。就不会再向原程服务器发送请求了。

相关推荐
重庆穿山甲26 分钟前
Java开发者的大模型入门:Spring AI组件全攻略(二)
前端·后端
重庆穿山甲29 分钟前
Java开发者的大模型入门:Spring AI组件全攻略(一)
前端·后端
布列瑟农的星空32 分钟前
前端都能看懂的rust入门教程(二)——函数和闭包
前端·后端·rust
颜酱1 小时前
二叉树分解问题思路解题模式
javascript·后端·算法
晨米酱1 小时前
四、Prettier 编辑器集成指南
前端·代码规范
文心快码BaiduComate1 小时前
Comate 4.0新年全面焕新!底层重构、七大升级、复杂任务驾驭力跃升
前端·程序员·架构
怪可爱的地球人1 小时前
uni-app:5 步接入 vite-plugin-uni-pages,用 <route> 自动生成 pages.json
前端
前端Hardy1 小时前
告别 !important:现代 CSS 层叠控制指南,90% 的样式冲突其实不用它也能解
前端·vue.js·面试
前端Hardy2 小时前
Vue 3 性能优化的 5 个隐藏技巧,第 4 个连老手都未必知道
前端·vue.js·面试
炫饭第一名2 小时前
速通Canvas指北🦮——路径与形状篇
前端·javascript·程序员