位置: 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云计算技能认证)

  • vue保留两位小数(vue保留两位小数的函数)

    vue保留两位小数(vue保留两位小数的函数)

  • 华为p40可以支持谷歌吗(华为p40可以支持MG6车钥匙吗)

    华为p40可以支持谷歌吗(华为p40可以支持MG6车钥匙吗)

  • 华为p40pro可以用5g网络的吗(华为p40pro可以用66w充电器吗)

    华为p40pro可以用5g网络的吗(华为p40pro可以用66w充电器吗)

  • 微信如何查全年消费总额(微信如何查全年转账记录)

    微信如何查全年消费总额(微信如何查全年转账记录)

  • 苹果11刚买几天出现卡机卡顿(苹果11刚买几天就发热)

    苹果11刚买几天出现卡机卡顿(苹果11刚买几天就发热)

  • mac硬盘不能写入(硬盘mac无法写入)

    mac硬盘不能写入(硬盘mac无法写入)

  • vivox30信号不好怎么回事(vivo x30 信号)

    vivox30信号不好怎么回事(vivo x30 信号)

  • 希沃授课助手可以在无网的情况下投屏吗(希沃授课助手可以录屏吗)

    希沃授课助手可以在无网的情况下投屏吗(希沃授课助手可以录屏吗)

  • 怎么把视频拷到u盘里(怎么把视频拷到平板上)

    怎么把视频拷到u盘里(怎么把视频拷到平板上)

  • 微信上视频号是什么意思(微信上视频号是什么软件)

    微信上视频号是什么意思(微信上视频号是什么软件)

  • 双面屏手机是哪款(双面屏手机是哪个品牌)

    双面屏手机是哪款(双面屏手机是哪个品牌)

  • vivo手机为什么老重启(vivo手机为什么打不了电话)

    vivo手机为什么老重启(vivo手机为什么打不了电话)

  • 拼单成功后可以退款吗(拼单成功后可以申请退款吗)

    拼单成功后可以退款吗(拼单成功后可以申请退款吗)

  • gtx850是什么显卡

    gtx850是什么显卡

  • vue怎么放慢速度(vue慢动作怎么操作)

    vue怎么放慢速度(vue慢动作怎么操作)

  • 怎么解除转转微信号码(转转怎么解除微信)

    怎么解除转转微信号码(转转怎么解除微信)

  • 饿了么可以帮别人订外卖吗(饿了么可以帮别人开会员吗)

    饿了么可以帮别人订外卖吗(饿了么可以帮别人开会员吗)

  • iphonex支持指纹解锁吗(苹果x可用指纹吗)

    iphonex支持指纹解锁吗(苹果x可用指纹吗)

  • 华为反向充电怎么设置(华为反向充电怎么开)

    华为反向充电怎么设置(华为反向充电怎么开)

  • 小米三指截屏怎么设置(小米三指截屏怎么开)

    小米三指截屏怎么设置(小米三指截屏怎么开)

  • 苹果11分辨率多少(苹果11分辨率多大)

    苹果11分辨率多少(苹果11分辨率多大)

  • 用美易怎么抠图换人脸(美易怎么抠图教程)

    用美易怎么抠图换人脸(美易怎么抠图教程)

  • gbq5用什么软件打开(gbq5.0是什么软件)

    gbq5用什么软件打开(gbq5.0是什么软件)

  • Windows 10如何禁止鼠标唤醒电脑(Windows10如何禁止电脑自动安装软件)

    Windows 10如何禁止鼠标唤醒电脑(Windows10如何禁止电脑自动安装软件)

  • 最新人工智能GPT-4免费简单使用教程(最新人工智能软件chingt)

    最新人工智能GPT-4免费简单使用教程(最新人工智能软件chingt)

  • 实际发生的坏账准备可以税前扣除吗
  • 环保税的纳税义务人是施工方还是建设方安徽
  • 土地摊销账务处理
  • 员工本地住宿费会计分录
  • 软件企业的工资怎么样
  • 结转本月收入类账户到本年利润会计分录
  • 收到发票未付款可以抵扣吗
  • 收到小规模企业农产品普票可以抵扣进项税吗?
  • 开完红字发票后,正数发票如何开具?
  • 房地产开发预提费用
  • 为什么非征期不允许汇总上传
  • 广告公司营改增账务处理
  • 简易征收货物的运费
  • 外币折算差额怎么记账
  • 减少注册资本金程序
  • 增值税专票怎么认证
  • 公司注销银行账户流程
  • 小规模应交税费有三级科目吗
  • 应交增值税未认证怎么办
  • window休眠
  • 在王者荣耀里怎么删除好友
  • 筹建期固定资产汇算清缴
  • 怎么隐藏权限
  • 银行承兑汇票背书人和被背书人什么关系
  • excel2019冻结
  • 国有土地出让收入分析报告
  • 文竹发黄怎么挽救?
  • html img位置
  • 库存现金总分类账怎么登记
  • 安装人员食宿费谁承担
  • 支付给个人的劳务报酬代扣个税
  • phpqrcode
  • 解决城市内涝的题目
  • 微信h5页面设计
  • php批量删除文件
  • php数组排列组合算法
  • reorg table 命令
  • Python如何检测两个相同的列表
  • 中国姓氏英文写法
  • 购进固定资产的进项税计入成本吗
  • phpcms使用教程
  • mongodb的坑
  • dedecms都能做什么网站
  • 新成立的小公司财务怎么管理
  • 在windowsxp的应用程序中,经常
  • 信用减值损失与资产减值损失
  • 个人所得税完整申报流程
  • 劳务发票税率最新标准
  • 小规模纳税人购进税控收款机
  • 如何处理固定资产报废
  • 公司聚餐做什么科目
  • 公司领导培训费用标准
  • 公司想自己开发票怎么申请
  • 如何调整以前年度的实收资本
  • 使用权资产
  • mysql 1449解决
  • sqlserver模糊查询不用like
  • mysql增删改查实例
  • win8系统打开我的电脑就黑屏
  • ubuntu server snap
  • tcp半连接和全连接
  • win8怎么打开系统设置
  • macbook备忘录字数统计
  • diskgenius分区linux
  • windowsxp优点
  • init systemd
  • iis的安全性设置主要包括
  • win8如何设置默认输入法
  • win7系统电脑蓝牙怎么开
  • 用python的turtle画图代码
  • pg搭建
  • androidstudio国内镜像地址
  • python爬虫抓包
  • python遍历文本的每条数据
  • 安卓手机管家怎么关闭
  • python读写segy数据
  • 税款所属期起怎么填写
  • 江苏优抚对象
  • 甘肃省张掖市国家储备林
  • 微观经济学的十大原理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设