• uniapp最简单的上拉加载更多demo


        data() {
            return {
                list:[],//数据列表
                page: 1,//页数
            }
        },
        //请求一下数据(进入页面请求一次)
        onLoad() {
            this.getnewsList(this.page)
        },
        // 监听触底
        onReachBottom() {
            this.getnewsList(this.page);
        },
        methods: {
            //屏幕到底部时候触发此事件
            //以下是演示,具体是要看接口再操作
            getnewsList(page) {    
                uni.request({
                    //两种写法,看接口所需
                    //1.如果接口后面数据不是页数的话就这样写
                    url:'接口',
                    data:{page},
    
                    //2.如果接口后面数据是页数的话就这样写
                    url:'接口'+page,
                    success:(res) => {                        
                        //如果返回没有数据了,数组长度为0
                        if (res.data.length==0) { 
                            //没有数据就替换一下loadingText的值
                           uni.showToast({
                                title: '没有更多数据了',
                                icon: 'none',
                                mask: false
                           })
                            return;
                        }else{
                            this.page+=1; //每触底一次 page +1
                            this.list= this.list.concat(res.data); //将数据拼接在一起
                        }
                        
                     }
                 });
            }
        },
                                        

    遇到的问题, 有些人 遇到tab高度不确定,  点击tab栏 触发触底! 解决方案如下:

    data() {
        return {
            isReachBottom:true,//是否开启触底函数
        }
    }
     methods: {
            //屏幕到底部时候触发此事件
            //以下是演示,具体是要看接口再操作
            getnewsList(page) {    
                uni.request({
                    //两种写法,看接口所需
                    //1.如果接口后面数据不是页数的话就这样写
                    url:'接口',
                    data:{page},
    
                    //2.如果接口后面数据是页数的话就这样写
                    url:'接口'+page,
                    success:(res) => {   
                         this.isReachBottom = true //接口请求到数据, 放开触底                    
                        //如果返回没有数据了,数组长度为0
                        if (res.data.length==0) { 
                           uni.showToast({
                                title: '没有更多数据了',
                                icon: 'none',
                                mask: false
                           })
                            return;
                        }else{
                            this.page+=1; //每触底一次 page +1
                            this.list= this.list.concat(res.data); //将数据拼接在一起
                        }
                        
                     }
                 });
            }
        },
    // 监听触底
      onReachBottom() {
          if(!this.isReachBottom) return;
          this.getnewsList(this.page); 
    },

    还有, tab切换的时候:

    tabClick() {
           this.isReachBottom = false; tab栏切换,关闭触底
           this.page = 1
           this.list = []
           this.getnewsList(1)
     },
  • 相关阅读:
    20Spring_JdbcTemplatem模板工具类
    19Spring_AOP编程(AspectJ)_使用@Pointcut注解来定义切点
    18Spring_AOP编程(AspectJ)_AspectJ的各种通知总结
    17Spring_AOP编程(AspectJ)_AspectJ的注解编程
    14Spring_AOP编程(AspectJ)_环绕通知
    android ViewPager滑动事件讲解
    为listview的item中的元素设置onclick事件
    Android EditText光标颜色 与inputType
    【Android】Android内存溢出问题---用自行开辟的空间进行对内存管理
    【Android】eclipse打不开的解决办法和“Jar mismatch! Fix your dependencies”的解决
  • 原文地址:https://www.cnblogs.com/520BigBear/p/15979182.html
Copyright © 2020-2023  润新知