位置: IT常识 - 正文

uniapp实现上拉加载更多(uniapp下拉)

编辑:rootadmin
uniapp实现上拉加载更多

目录

一、添加全部

1.在主页面中添加一列

 2.改云函数

3.插件市场导入 加载中组件

二、实现上拉加载

1.云函数中可以接收参数

2.获取下拉事件

3.写触发这个下拉干嘛

在 显示加载中的组件里面


一、添加全部1.在主页面中添加一列data.unshift({name:'全部'}) //添加一列 ‘全部’

推荐整理分享uniapp实现上拉加载更多(uniapp下拉),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:uniapp的下拉框,uniapp实现上拉加载下一页,uniapp实现下拉弹出新页面,uniapp下拉菜单怎么赋值,uniapp下拉,uniapp上拉刷新,uniapp实现上拉加载下拉刷新,uniapp实现上拉加载下一页,内容如对您有帮助,希望把文章链接给更多的朋友!

 

 2.改云函数

(累了 直接上代码)这里match匹配空对象相当于全部哈

'use strict';const db=uniCloud.database()//1.创建引用exports.main = async (event, context) => {//event为客户端上传的参数const {name} = event//等同 var name=event.namelet matchObj={}if (name !== '全部') {matchObj = {classify: name}} const list =await db.collection('article')//2.创建.aggregate()//获取聚合操作实例.match(matchObj)//筛选出classify是前端开发的.project({content:0})//类似.field.end()return {code: 200,msg: '数据请求成功',data: list.data} };

3.插件市场导入 加载中组件二、实现上拉加载uniapp实现上拉加载更多(uniapp下拉)

上拉加载实际上把一页分成好几页来加载,拉一下就加载一点点 就这样

1.云函数中可以接收参数'use strict';const db=uniCloud.database()//1.创建引用exports.main = async (event, context) => {//event为客户端上传的参数const {name,page = 1,pageSize = 10} = event//等同 var name=event.namelet matchObj={}if (name !== '全部') {matchObj = {classify: name}}const list =await db.collection('article')//2.创建.aggregate()//获取聚合操作实例.match(matchObj)//筛选出classify是前端开发的.project({content:0})//类似.field.skip(pageSize * (page - 1)).limit(pageSize)//返回几条数据?.end()return {code: 200,msg: '数据请求成功',data: list.data} };2.获取下拉事件<scroll-view class="list-scroll" scroll-y @scrolltolower="loadmore">

传呀传

methods:{loadmore(){this.$emit('loadmore')}}

传呀传

传到头啦

3.写触发这个下拉干嘛loadmore() {if (this.load[this.activeIndex].loading === 'noMore') returnthis.load[this.activeIndex].page++this.getList(this.activeIndex)},

getList里面

getList(current) {if (!this.load[current]) {this.load[current] = {page: 1,loading: 'loading'}} //分离page 不能让他们共享一个console.log('当前的页数', this.load[current].page);this.$api.get_list({ //传三个参数name: this.tab[current].name,page: this.load[current].page,pageSize: this.pageSize}).then(res => {console.log(res);const {data} = resif (data.length === 0) {let oldLoad = {}oldLoad.loading = 'noMore'oldLoad.page = this.load[current].pagethis.$set(this.load, current, oldLoad)// 强制渲染页面this.$forceUpdate()return}let oldList = this.listCatchData[current] || []oldList.push(...data)this.$set(this.listCatchData, current, oldList)})}

完整代码:

<template><swiper @change="change" :current="activeIndex" style="height: 100%"><swiper-item style="height: 100%" v-for="(item ,index) in tab" :key="index" class="swiper-item"><list-item :list="listCatchData[index]" :load="load[index]" @loadmore="loadmore"></list-item></swiper-item></swiper></template><script>export default {name: "list",props: {tab: {type: Array,default () {return []}},activeIndex: {type: Number,default: 0}},data() {return {list: [],// js 的限制 listCatchData[index] = datalistCatchData: {},load: {},pageSize: 10};},watch: {tab(newVal) {//如果是新的tabif (newVal.length === 0) returnthis.listCatchData = {}this.load = {} this.getList(this.activeIndex)}},methods: {loadmore() {//if ‘没有更多数据’就返回 不申请啦if (this.load[this.activeIndex].loading === 'noMore') returnthis.load[this.activeIndex].page++this.getList(this.activeIndex)},change(e) {const {current} = e.detail; //取到 current这个数据this.$emit('change', current)// TODO 当数据不存在 或者 长度是 0 的情况下,才去请求数据 不用每次都加载已经加载过的if (!this.listCatchData[current] || this.listCatchData[current].length === 0) {this.getList(current)}},getList(current) {if (!this.load[current]) {//分离page 不能让他们共享一个this.load[current] = {page: 1,loading: 'loading'}} console.log('当前的页数', this.load[current].page);this.$api.get_list({ //传三个参数name: this.tab[current].name,page: this.load[current].page,pageSize: this.pageSize}).then(res => {console.log(res);const {data} = resif (data.length === 0) //if没有数据就搞它let oldLoad = {}oldLoad.loading = 'noMore'oldLoad.page = this.load[current].pagethis.$set(this.load, current, oldLoad)// 强制渲染页面this.$forceUpdate()return}let oldList = this.listCatchData[current] || []//解决每次加载覆盖 没有新的oldList.push(...data)this.$set(this.listCatchData, current, oldList)})}}}</script><style lang="scss">.home-swiper {height: 100%;.swiper-item {height: 100%;overflow: hidden;.list-scroll {height: 100%;}}}</style>在 显示加载中的组件里面<uni-load-more iconType="snow" :status="load.loading"></uni-load-more>
本文链接地址:https://www.jiuchutong.com/zhishi/299120.html 转载请保留说明!

上一篇:photo-sphere-viewer中文文档

下一篇:Apsara Clouder云计算专项技能认证:云服务器ECS入门[考试真题分享](Apsara Clouder云计算技能认证)

  • 苹果11如何设置自定义铃声(苹果11如何设置来电铃声)

    苹果11如何设置自定义铃声(苹果11如何设置来电铃声)

  • qq账号被盗风险提醒原因(qq账号被盗风险提醒怎么触发的)

    qq账号被盗风险提醒原因(qq账号被盗风险提醒怎么触发的)

  • 微信小程序提示运行内存不足(微信小程序提示运行环境加载失败2101)

    微信小程序提示运行内存不足(微信小程序提示运行环境加载失败2101)

  • 电话卡可以换身份证吗(电话卡可以换身份证实名吗)

    电话卡可以换身份证吗(电话卡可以换身份证实名吗)

  • 微信怎么看历史评论过的消息(微信怎么看历史头像)

    微信怎么看历史评论过的消息(微信怎么看历史头像)

  • 微博钱包充值不了(微博无法充值)

    微博钱包充值不了(微博无法充值)

  • qq多久一个太阳(qq多久能有一个太阳一个月亮)

    qq多久一个太阳(qq多久能有一个太阳一个月亮)

  • 苹果三包法退换货条件(苹果手机三包规定退换货)

    苹果三包法退换货条件(苹果手机三包规定退换货)

  • 苹果无法充电检测到接口有液体(苹果无法充电检测到接口怎么快速解决)

    苹果无法充电检测到接口有液体(苹果无法充电检测到接口怎么快速解决)

  • 抖音回关多少才会受限(抖音一下回关很多会有影响吗)

    抖音回关多少才会受限(抖音一下回关很多会有影响吗)

  • 微信视频没接通看得见脸吗

    微信视频没接通看得见脸吗

  • 微师电脑版为什么打不开(微师电脑版为什么提示)

    微师电脑版为什么打不开(微师电脑版为什么提示)

  • 京东个人空间在哪里(京东个人空间总共消费准确吗)

    京东个人空间在哪里(京东个人空间总共消费准确吗)

  • 对一台计算机来说什么的档次最重要(对一台计算机来说)

    对一台计算机来说什么的档次最重要(对一台计算机来说)

  • 为什么qq视频像素那么低(qq视频出不来像怎么回事)

    为什么qq视频像素那么低(qq视频出不来像怎么回事)

  • 腾讯视频为什么不能全屏播放(腾讯视频为什么看一会就卡住了)

    腾讯视频为什么不能全屏播放(腾讯视频为什么看一会就卡住了)

  • 笔记本14和15.6寸区别(笔记本14寸跟15.6寸对比)

    笔记本14和15.6寸区别(笔记本14寸跟15.6寸对比)

  • 微视一天能关注多少人(微视关注有上限吗)

    微视一天能关注多少人(微视关注有上限吗)

  • 大三芯和大二芯的线一样吗(大三芯和大二芯的区别)

    大三芯和大二芯的线一样吗(大三芯和大二芯的区别)

  • 新买的苹果8有膜吗(苹果八有新机吗)

    新买的苹果8有膜吗(苹果八有新机吗)

  • ie如何更换兼容模式(苹果se手机怎么录屏幕)

    ie如何更换兼容模式(苹果se手机怎么录屏幕)

  • 红米k20pro取消掉上划搜索(红米k20prohd怎么关闭)

    红米k20pro取消掉上划搜索(红米k20prohd怎么关闭)

  • 如何虚拟位置打卡(虚拟位置怎么设定)

    如何虚拟位置打卡(虚拟位置怎么设定)

  • 苹果13.0系统什么时候更新(苹果手机13.0系统)

    苹果13.0系统什么时候更新(苹果手机13.0系统)

  • 拨打电话关机是拉黑么(拨打电话关机是怎么回事)

    拨打电话关机是拉黑么(拨打电话关机是怎么回事)

  • 手机速度快慢和什么有关(手机快与慢什么有关)

    手机速度快慢和什么有关(手机快与慢什么有关)

  • Win11镜像文件怎么安装?Win11镜像文件装机方法(win11镜像文件怎么复制到系统U盘)

    Win11镜像文件怎么安装?Win11镜像文件装机方法(win11镜像文件怎么复制到系统U盘)

  • 小企业会计准则适用于哪些企业
  • 风险纳税人是指个人还是单位
  • 卖家电税是多少
  • 深圳增值税普通发票查询真伪
  • 发票勾选后什么时候可以抵扣税
  • 工资代扣工会会费
  • 增值税建筑业税率几次调整
  • 业务招待费支出扣除标准
  • 事业单位收到退税账务处理
  • 公司法人信息变更是先去税务局还是先去银行
  • 2018年企业所得税政策变化
  • 股权转让个人所得税
  • 非独立核算的分公司怎么做账
  • 已开票怎么做坏账处理
  • 什么是销售利润率和成本利润率
  • 对账单和电子回单区别
  • win10锁屏界面windows聚焦什么意思
  • 公司免税是指免的什么税
  • macOSCatalina10.15.5正式版值得升级吗 macOSCatalina10.15.5更新了什么
  • kwservice.exe是什么
  • 出口退税的期限是多长
  • flex布局适用于哪些场景
  • 收到车险发票含增值税吗
  • php主要用于
  • opencv.
  • 盘盈的存货计入哪个科目
  • seaborn库的特点
  • 所得税季度申报弥补以前年度亏损
  • 领用发票后
  • 通过微信支付码能查到微信本人吗
  • 来料加工企业的税率是多少
  • 清单应该盖公章还是财务章
  • 企业接受捐赠资产属于什么科目
  • 服务型公司营业执照图片
  • 什么叫python的开发环境
  • 稿费的个税是怎么算的
  • 企业影响工程成本的原因
  • 同时运行多个MySQL服务器的方法
  • 个税手续费返还比例
  • 低值易耗品怎么摊
  • 预付账款年底怎么调账
  • 企业的营业税金怎么计算
  • 委托生产的会计分录
  • 收到赠送的样品附件
  • 疫情防控期间临时性工作补助申请
  • 现金折扣与商业折扣的计算
  • 银行存款日记账与银行对账单之间的核对属于
  • 在建工程的消防要求
  • 一个工程项目多个业主吗
  • 发票遗失复印件可以入账吗
  • 出口汇率按报关价格算吗
  • 公司法人借款给企业属于关联交易吗?
  • 管理费用业务招待费包括哪些
  • Linux下mysql的root密码修改方法
  • winxp系统打不开
  • 谁编写了元素周期表
  • xp系统怎么设置系统启动项
  • Ubuntu操作系统安全维护
  • win8.1快捷键
  • ios太极
  • 四步清理手机垃圾的方法
  • windows7的任务管理器在哪
  • efs加密解除
  • linux 去除换行
  • linux系统的服务器,重启之后运算速度变慢
  • macbook core2
  • 程序员用linux可以干什么
  • css网页布局在线生成
  • unity3ds
  • javascript中的关键字有哪些
  • 安卓样式大全
  • android基础知识
  • Javascript valueOf 使用方法
  • python基础教程chm
  • jquery获取浏览器宽度
  • 税务局的前身是什么
  • 征求意见稿 讨论稿 送审稿
  • 瑞士州税
  • 新华保险有返本金吗
  • 申报土地增值税需要什么资料
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设