首页 > 其他分享 >uniapp 上拉加载&下拉刷新

uniapp 上拉加载&下拉刷新

时间:2022-10-08 11:46:15浏览次数:55  
标签:uniapp listData res 下拉 listPage list 上拉 listLoading 加载

上拉加载&下拉刷新   方法1

<script>
    export default {
        data() {
            return {
                listQuery: {
                    pageNo: 1,
                    pageSize: 10,
                }, //分页
                list: [], //列表
                totalPage: 1 //当前页
            };
        },
        onl oad() {
            this._orderRecord()
        },
        methods: {
            /*获列表
             * @params this.listQuery 分页数据
             */
            _orderRecord() {
                let that = this;
                if (this.listQuery.pageNo === 1) this.list = [];
                this.$api.api.orderRecord(this.listQuery).then(res => {
                    setTimeout(function() {
                        uni.hideLoading();
                        that.list = that.list.concat(res.list);
                        that.totalPage = res.totalPage
                    }, 500);
                });
            },

            /* 上拉加载 */
            onReachBottom() {
                uni.showLoading({
                    title: '加载中'
                });
                if (this.totalPage <= this.listQuery.pageNo) {
                    uni.hideLoading();
                    uni.showToast({
                        title: '没有更多了',
                        duration: 2000,
                        icon: 'none'
                    });
                    return
                }
                this.listQuery.pageNo += 1;
                this._orderRecord()
            },

            /* 下拉刷新 */
            onPullDownRefresh() {
                this.listQuery.pageNo = 1;
                this._orderRecord();
            },
        }
    };
</script>

 

方法2

// 1.pages.json配置

{
    "path": "banner/index/index",
    "style": {
                "navigationBarTitleText": "XXXXX",
                "enablePullDownRefresh": true
             }
},
// 声明变量条件
data(){
   return{
               // 收到的
                listData: [],//信息list
                listAll: 0,//信息总数
                listPage: 1,//请求页数
                listLoading: false,//是否正在加载
   }
}
// method 方法获取列表信息

receivedLetter() {
        // 停止刷新请求条件
    if (this.listData && this.listData.length !== 0 && this.listData.length >= this.listAll) {
                 uni.stopPullDownRefresh()
                 return
              }
 
                this.listLoading = true//开始请求
                this.$api.getMyDetailData({
                    biz_id: this.$store.state.user_biz_id,//参数根据业务需求
                    ptype: "get",
                    page: this.listPage,//重点是这个会变的请求页码
                    limit: 10
                }).then(res => {
                    console.log("请求", res)
                    this.listLoading = false  //请求完成
                    this.listData.push(...res.data) //追加数据
                    uni.stopPullDownRefresh()  //停止刷新
                    
                })
            },
// 首次加载&监听触底上拉和下拉

       mounted() {
            uni.startPullDownRefresh()    
       },
       // 下拉触底函数
        onReachBottom() {
            //加载中就不进行加载
            if (this.listLoading) {
                    return
            } else {
                    //加载下一页    
                    this.receivedLetter()//第一次的时候listPage=1
                    this.listPage++    
            }
        },
        // 监听下拉更新 (重新获取第一页信息)
        onPullDownRefresh() {
            //初始化信息
            this.listPage = 1
            this.listLoading = false
            this.listData = []
            this.listAll = 0
            this.receivedLetter()
        },

 

标签:uniapp,listData,res,下拉,listPage,list,上拉,listLoading,加载
From: https://www.cnblogs.com/qianduan-lucky/p/16768442.html

相关文章

  • 【Django Admin】外键关联下拉框筛选数据
    #admin.pyclassInnerOrderAdmin(admin.ModelAdmin):...#外键关联下拉框筛选defformfield_for_foreignkey(self,db_field,request,**kwargs):......
  • uniapp的plus获取数据
    plus.runtime.versionplus.runtime.getProperty拿到的版本plus.runtime.version拿到的是manifest.json中设置的apk/ipa版本号,整包更新的版本plus.runtime.getPropert......
  • uniapp + vue3糖果语法实现瀑布流商品列表
    目录效果思路实现先将列表分为两个HTML中使用左右列表进行显示完整代码效果思路瀑布流其实就是将放放商品信息列表展示的view分为了左右两个部分,然后固定了两个部分的......
  • 数据验证那个长长的下拉列框啊……(Excel技巧集团)
    【数据】》【数据验证】》【序列】,来源可以从工作表里选上一列(或一行),好多好多好多东东……结果,输入的过程从费劲地敲键盘变成了费劲地找啊找啊找……  不过,以上,是老皇历了......
  • 下拉框操作
    目录下拉框操作下拉框操作可以通过直接定位方式去操作也可以使用selenium的Select类进行操作下拉框第二种方式需要导入fromselenium.webdriver.support.selectim......
  • uniapp瀑布流
    <stylelang="scss"scoped>.list-container{display:flex;flex-wrap:wrap;//padding-top:40rpx;}.list{flex:1}......
  • uniapp微信小程序添加更新检测
    App.vue:可以放在onShow:热启动(后台进入前台)和onLaunch:冷启动(重启小程序)下constupdateManager=uni.getUpdateManager();updateManager.onCheckForUpdate(function(......
  • 带线的无限级下拉树列表
    好多年没写文章了这里就分享点自己原创的一点破代码,效果如图下:本人的提供的代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.We......
  • Element UI下拉列表el-option中的key、value、label含义
    ElementUI下拉列表el-option中的key、value、label含义<el-selectv-model="queryParams.level"placeholder="级别"style='margin-right:5px;width:140px'clearable>......
  • 2022-09-28 隐藏掉uniapp出现的HTML5+ Runtime提示框
    把uniapp项目打包到app上并运行时会出现一个版本兼容检查提示框,可以通过配置manifest.json中的app-plus来控制是否显示。"compatible":{"ignoreVersion":false,/......