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

  • 苹果手机怎么传输到新苹果手机(苹果手机怎么传输到电脑)

    苹果手机怎么传输到新苹果手机(苹果手机怎么传输到电脑)

  • 荣耀60防水吗(荣耀magic5防水不)

    荣耀60防水吗(荣耀magic5防水不)

  • vivox50搭载的处理器是什么(vivox50用的什么芯片)

    vivox50搭载的处理器是什么(vivox50用的什么芯片)

  • 淘宝龄怎么看(如何查淘宝淘龄)

    淘宝龄怎么看(如何查淘宝淘龄)

  • 固定到任务栏是什么意思(从任务栏固定到桌面)

    固定到任务栏是什么意思(从任务栏固定到桌面)

  • 华为永久删除的视频能恢复吗(华为永久删除的视频怎么恢复到相册)

    华为永久删除的视频能恢复吗(华为永久删除的视频怎么恢复到相册)

  • i76700相当于i5几代(i76700hq相当于i5几代)

    i76700相当于i5几代(i76700hq相当于i5几代)

  • 拼多多选错类目还能经营吗(拼多多选错类目有什么影响)

    拼多多选错类目还能经营吗(拼多多选错类目有什么影响)

  • 为什么Word页码从2开始(为什么word页码都是一样的)

    为什么Word页码从2开始(为什么word页码都是一样的)

  • iphone11无线充电没反应(iphone11无线充电吗?)

    iphone11无线充电没反应(iphone11无线充电吗?)

  • 打印机亮橙色灯怎么办(打印机亮橙色灯和半个框是什么原因)

    打印机亮橙色灯怎么办(打印机亮橙色灯和半个框是什么原因)

  • 暗夜精灵和光影精灵有什么区别(暗夜精灵和光影精灵谁好)

    暗夜精灵和光影精灵有什么区别(暗夜精灵和光影精灵谁好)

  • 爱奇艺怎么换手机号(爱奇艺怎么换手机号登陆平板发不了短信怎么弄)

    爱奇艺怎么换手机号(爱奇艺怎么换手机号登陆平板发不了短信怎么弄)

  • 天猫直送没有按时送到怎么办(天猫直送没有在承诺时间到怎么办)

    天猫直送没有按时送到怎么办(天猫直送没有在承诺时间到怎么办)

  • 手机没卡可以上微信吗(手机没卡可以上抖音吗)

    手机没卡可以上微信吗(手机没卡可以上抖音吗)

  • 抖音怎么添加淘宝链接(抖音怎么添加淘宝联盟的商品)

    抖音怎么添加淘宝链接(抖音怎么添加淘宝联盟的商品)

  • 激光打印机碳粉盒在哪里(激光打印机碳粉盒和硒鼓是一样的吗)

    激光打印机碳粉盒在哪里(激光打印机碳粉盒和硒鼓是一样的吗)

  • 开启ap隔离能防蹭网吗(ap隔离开启好还是禁用好)

    开启ap隔离能防蹭网吗(ap隔离开启好还是禁用好)

  • 手机可以监听对方手机微信吗(手机可以监听对方的微信吗怎么设置)

    手机可以监听对方手机微信吗(手机可以监听对方的微信吗怎么设置)

  • beatsstudio怎么开降噪(beats studio3怎么打开)

    beatsstudio怎么开降噪(beats studio3怎么打开)

  • 企业微信如何导出考勤(企业微信如何导出考勤表)

    企业微信如何导出考勤(企业微信如何导出考勤表)

  • 抖音顶置怎么弄(如何抖音顶置)

    抖音顶置怎么弄(如何抖音顶置)

  • 【真相】ChatGPT和OpenAI的API KEY(真相 百科)

    【真相】ChatGPT和OpenAI的API KEY(真相 百科)

  • 有形动产租赁服务税收分类编码
  • 固定资产的税费可抵扣吗
  • 长期待摊费用的账务处理
  • 计提贷款利息是什么意思
  • 银行贷款减值准备转回处理
  • 汇算清缴所得税会计分录
  • 通行费进项抵扣政策
  • 普通发票申请表怎么填写
  • 付给总机构的管理费可以税前扣除吗
  • 股权转让个人所得税如何申报
  • 商场收取租户电费怎么处理税收?
  • 增值税和实际缴税不符
  • 税交多了退税走到哪一流程了问谁
  • 印花税资产划转
  • 资源税法律制度PPT免费下载
  • 劳务公司差额征税怎么计算
  • 加油款可以开专用发票吗
  • 网上订酒店怎么预定
  • 垫付的医药费怎么理赔
  • 月末利润分配的账务处理
  • 建筑服务预交税款怎么计算的
  • 劳务费个税计算方式
  • 电脑内存条是干什么的?
  • 获取 获得
  • 定期存款利息收入怎么算
  • php防止订单重复处理
  • uniapp 嵌套webview
  • 无线路由器限速怎么办
  • php数组函数 菜鸟
  • 实缴资金少有什么风险
  • php批量修改
  • 公司购买二手车需要交什么税
  • php foreach二维数组
  • vue.3
  • ie浏览器网页滚动条怎么隐藏
  • node-js
  • php md5 16位
  • 依法无需办理税务登记证
  • 收益相关的政府补助账务处理
  • 专利费用计入什么会计科目
  • 委托代销商品支付的手续费计入什么科目
  • 应发工资包含
  • sql查看日志
  • mysql 自动断开
  • 进项税大于销项税怎么结转
  • 应付职工薪酬和生产成本的区别
  • 补充登记法是全部都用蓝字吗
  • 内部往来科目设置在哪类下
  • 给客户买的礼品要交税吗
  • 投入的资金如何做账
  • 如何进行固定资产审计
  • 会计凭证的主要种类
  • win8系统崩溃怎么办
  • 获取shell脚本执行结果
  • mcshield.exe是什么进程
  • wind8桌面
  • win7桌面图标靠右
  • win10资源管理器快捷键
  • windows8介绍
  • win10桌面图片预览
  • Unity5 Assetbundle简单使用 及 打包Material文件超大的问题
  • 直线画画
  • js时间倒计时定时器怎么弄
  • javascript中声明变量的关键字
  • node js安装教程
  • js移动到指定位置
  • 淘宝国际平台叫什么
  • python网络爬虫教程
  • unity用鼠标控制物体移动
  • java性能调优实战 网盘
  • python验证整数
  • 安卓开源好处
  • python的argparse用法
  • 打印个人住房信息查询记录需要什么资料
  • 河南准生证查询平台
  • 开票软件重置密码去哪里
  • 电子税务局开的发票怎么作废
  • 浙江省电税务局电话
  • 税务上门核查要看什么
  • 年度关联业务往来报告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设