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

  • 苹果13promax来电闪光灯怎么打开(苹果13promax来电闪光灯怎么设置怎么打不开)

    苹果13promax来电闪光灯怎么打开(苹果13promax来电闪光灯怎么设置怎么打不开)

  • 淘宝订单留言在哪里(淘宝下单留言在哪)

    淘宝订单留言在哪里(淘宝下单留言在哪)

  • 华为mate30快捷键怎么设置(华为mate30快捷键如何重命名)

    华为mate30快捷键怎么设置(华为mate30快捷键如何重命名)

  • 搜狗输入法朋友圈模式不能用了(搜狗输入法朋友圈不折叠)

    搜狗输入法朋友圈模式不能用了(搜狗输入法朋友圈不折叠)

  • 微信怎么找加入的群聊(微信怎么找加入的群组)

    微信怎么找加入的群聊(微信怎么找加入的群组)

  • 华为手机右上角的钥匙图标是什么(华为手机右上角有个树叶)

    华为手机右上角的钥匙图标是什么(华为手机右上角有个树叶)

  • usb接口怎么转换插板(usb接口怎么转换网线口接线方法)

    usb接口怎么转换插板(usb接口怎么转换网线口接线方法)

  • rpc框架有哪些(rpc框架选型)

    rpc框架有哪些(rpc框架选型)

  • 苹果外屏有必要换原装的吗(苹果外屏有必要换原装屏吗)

    苹果外屏有必要换原装的吗(苹果外屏有必要换原装屏吗)

  • pr导出手机视频格式选什么(pr导出手机视频不清晰)

    pr导出手机视频格式选什么(pr导出手机视频不清晰)

  • 抖音自动掉粉怎么回事(抖音老是掉粉)

    抖音自动掉粉怎么回事(抖音老是掉粉)

  • 蜂窝数据是什么(苹果的蜂窝数据是什么)

    蜂窝数据是什么(苹果的蜂窝数据是什么)

  • 苹果8plus怎么录屏(苹果8plus怎么录屏功能在哪里)

    苹果8plus怎么录屏(苹果8plus怎么录屏功能在哪里)

  • wps表格查找替换在哪(wps表格中查找替换)

    wps表格查找替换在哪(wps表格中查找替换)

  • 苹果8plus是什么基带(苹果8plus是什么芯片)

    苹果8plus是什么基带(苹果8plus是什么芯片)

  • oppo手机怎么截屏 截图(oppo手机怎么截长图)

    oppo手机怎么截屏 截图(oppo手机怎么截长图)

  • iphonex如何拍摄夜景(苹果x怎么拍)

    iphonex如何拍摄夜景(苹果x怎么拍)

  • vsco付款138能退吗(vsco148怎么退款)

    vsco付款138能退吗(vsco148怎么退款)

  • 抖音关注别人失败(抖音关注了对方,怎么突然没有了怎么找回来)

    抖音关注别人失败(抖音关注了对方,怎么突然没有了怎么找回来)

  • 怎么看朋友圈封面被赞(怎么看朋友圈封多久)

    怎么看朋友圈封面被赞(怎么看朋友圈封多久)

  • 魅族手机补电指令(魅族16s补电)

    魅族手机补电指令(魅族16s补电)

  • iphonex耗电严重原因(iphonex耗电量大怎么办)

    iphonex耗电严重原因(iphonex耗电量大怎么办)

  • ppt图片上的字怎么去掉(PPT图片上的字怎么放大)

    ppt图片上的字怎么去掉(PPT图片上的字怎么放大)

  • cad圆角快捷键(cad把直角改为圆弧角)

    cad圆角快捷键(cad把直角改为圆弧角)

  • 普通二本,去过阿里外包,到现在年薪40W+的高级测试工程师,我的两年转行心酸经历...(考到二本)

    普通二本,去过阿里外包,到现在年薪40W+的高级测试工程师,我的两年转行心酸经历...(考到二本)

  • 销项税转出是啥意思
  • 社保的滞纳金放什么科目
  • 企业的筹建期允许有多长?
  • 利息支出可以抵扣吗
  • 开票软件服务费全额抵扣怎么做账
  • 管理费用预测
  • 个体餐饮要交什么税
  • 借款利息是否可以转为本金
  • 土地增值税预征率
  • 准予以后纳税年度结转扣除的项目有
  • 退所得税的分录
  • 收入未确认可以结转成本吗
  • 减半征收怎么算
  • 购入材料时,会出现哪几种情况
  • 车船税法律制度的规定什么是以每米为计税依据的
  • 不涉及税收
  • 特许权使用费个税计算公式
  • 微税平台怎么打印发票
  • 税款负担方式是什么
  • 展览费怎么开票
  • 当月税负率怎么算
  • 如果工程款要不到的话怎么办
  • 高新企业申报指南
  • 企业怎么才能开100万发票
  • 当月作废的发票是否需要报税
  • linux的sed命令
  • 信用证保证金会退还吗
  • 党团活动经费如何节约
  • 苹果mac os x 10.7.5
  • 正版的win10多少钱
  • 公司党员活动日方案
  • win10改头像怎么删除以前的头像
  • 固定资产一次性扣除后第二年账务处理
  • 详谈的详是什么意思
  • 自然vc
  • 预算会计与财务会计适度分离
  • linux中web服务器的安装,配置与测试
  • 开发成本属于什么类型科目
  • 做毕业设计,前景如何
  • 上海广为
  • 论文精读分析报告
  • css page-break-after
  • python photoshop
  • 税金及附加也是费用吗
  • cookie 会话
  • 有限公司能变更成个体工商户吗
  • 家具工厂生产
  • 生产企业成本核算案例
  • 固定资产一次性加速折旧
  • 以前年度多计提成本怎么处理
  • 建筑企业外经证需要准备什么资料
  • 辅助生产费用如何判断受益多少事指什么
  • 普通发票的开具是怎样?
  • 集团公司对子公司总经理的绩效考核
  • 代扣代缴的增值税为什么可以抵扣
  • mysql中mysqldump
  • sqlserver关键字附近有语法错误
  • mysql 绿色版
  • mysql常见报错
  • win8装不了itunes
  • centos真机安装后只有lo
  • 电脑关机没反应怎么办出现一个对话框
  • win7旗舰版如何升级到win10
  • win7的系统电脑
  • pim架构
  • ExtJS Ext.MessageBox.alert()弹出对话框详解
  • 网页设计css文字居中
  • perl的哈希
  • cocos2dx4.0入门
  • 微信小程序tabbar字体颜色
  • linux压缩命令compress
  • js获取当前点击事件的节点
  • jquery ztree选中节点颜色
  • python遍历文件目录
  • 2020年军人自主择业条件
  • 甲种本什么意思
  • 公司自有房产出租缴税
  • 郑州市地税局局长
  • 九江五室新楼盘
  • 社保uk申请流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设