1. 狗万官网酒店 > 狗万官网下载 > 微信小程序下拉加载和上拉刷新两种实现方式详解_javascript艺术

        微信小程序下拉加载和上拉刷新两种实现方式详解_javascript艺术

        来源: 2019-09-09 19:44 我来投稿 参与评论
        这篇文章主要介绍了微信小程序下拉加载和上拉刷新两种实现方式详解,文中通过示范代码介绍的独特详细,对大家的上学或者工作具有原则性的参考学习价值,要求的爱人可以参考下

        艺术一:onPullDownRefresh和onReachBottom艺术实现小程序下拉加载和上拉刷新

        最先要在json文件里安装window属性

        安装js阴onPullDownRefresh和onReachBottom艺术

        副拉加载说明:

        顶处理完数据刷新后,wx.stopPullDownRefresh可以停止当前页面的主业拉刷新。

        onPullDownRefresh(){
          console.log('--------副拉刷新-------')
          wx.showNavigationBarLoading() //在标题栏中显示加载
          wx.request({
             url: 'https://URL',
             data: {},
             method: 'GET',
             // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
             // header: {}, // 安装请求的 header
             success: function(res){
              // success
             },
             fail: function() {
              // fail
             },
             complete: function() {
              // complete
              wx.hideNavigationBarLoading() //做到停止加载
              wx.stopPullDownRefresh() //停止下拉刷新
           }
        })  

        艺术二:在scroll-view阴设定bindscrolltoupper和bindscrolltolower落实微信小程序下拉

        index.wxml

        <!--index.wxml-->
         <view class="container" style="padding:0rpx">
          <!--笔直滚动,此地必须设置高度-->
           <scroll-view scroll-top="{{scrollTop}}" scroll-y="true" style="height:{{scrollHeight}}px;"
             class="list" bindscrolltolower="bindDownLoad" bindscrolltoupper="topLoad" bindscroll="scroll">
             <view class="item" wx:for="{{list}}">
               <image class="img" src="{{item.pic_url}}"></image>
               <view class="text">
                 <text class="title">{{item.name}}</text>
                 <text class="description">{{item.short_description}}</text>
               </view>
             </view>
           </scroll-view>
           <view class="body-view">
             <loading hidden="{{hidden}}" bindchange="loadingChange">
               加载中...
             </loading>
           </view>
         </view>

        index.js

        var url = "http://www.imooc.com/course/ajaxlist";
        var page =0;
        var page_size = 5;
        var sort = "last";
        var is_easy = 0;
        var lange_id = 0;
        var pos_id = 0;
        var unlearn = 0;
         // 呼吁数据<br> var loadMore = function(that){
          that.setData({
            hidden:false
          });
          wx.request({
            url:url,<br>    data:{
              page : page,
              page_size : page_size,
              sort : sort,
              is_easy : is_easy,
              lange_id : lange_id,
              pos_id : pos_id,
              unlearn : unlearn
            },
            success:function(res){
              //console.info(that.data.list);
              var list = that.data.list;
              for(var i = 0; i < res.data.list.length; i++){
                list.push(res.data.list[i]);
              }
              that.setData({
                list : list
              });
              page ++;
              that.setData({
                hidden:true
              });
            }
          });
        }
        Page({
         data:{
          hidden:true,
          list:[],
          scrollTop : 0,
          scrollHeight:0
         },
         onLoad:function(){
          //  此地要小心,微信的scroll-view必须要设置高度才能监听滚动事件,故而,要求在页面的onLoad事件中给scroll-view的惊人赋值
           var that = this;
           wx.getSystemInfo({
             success:function(res){
               that.setData({
                 scrollHeight:res.windowHeight
               });
             }
           });
            loadMore(that);
         },
         //页面滑动到底部
         bindDownLoad:function(){ 
           var that = this;
           loadMore(that);
           console.log("lower");
         },
         scroll:function(event){
          //该方法绑定了页面滚动时的风波,我这里记录了目前的position.y的值,为了请求数据之后把页面定位到此处来。
           this.setData({
             scrollTop : event.detail.scrollTop
           });
         },
         topLoad:function(event){
          //  该方法绑定了页面滑动到车顶的风波,接下来做上拉刷新
           page = 0;
           this.setData({
             list : [],
             scrollTop : 0
           });
           loadMore(this);
           console.log("lower");
         }<br> })

        index.wxss

        /**index.wxss**/
         
         .userinfo {
          display: flex;
          flex-direction: column;
          align-items: center;
         }
         
         .userinfo-avatar {
          width: 128rpx;
          height: 128rpx;
          margin: 20rpx;
          border-radius: 50%;
         }
         
         .userinfo-nickname {
          color: #aaa;
        }
         
         .usermotto {
          margin-top: 200px;
         }
         
         /**/
         
         scroll-view {
          width: 100%;
         }
         
         .item {
          width: 90%;
          height: 300rpx;
          margin: 20rpx auto;
          background: brown;
          overflow: hidden;
         }
         
         .item .img {
          width: 430rpx;
          margin-right: 20rpx;
          float: left;
         }
         
         .title {
          font-size: 30rpx;
          display: block;
          margin: 30rpx auto;
         }
         
         .description {
         font-size: 26rpx;
          line-height: 15rpx;
        }

        上述就是本文的方方面面内容,瞩望对大家的上学有所帮助,也愿意大家多多支持脚本的师。

        义务编辑:狗万官网酒店
         
         
        0% (0)
         
         
        0% (0)
        机长评论( ) 请自觉遵守互联网相关的富民政策法规,不准发布色情、暴力、反动的议论。
        地名: 匿名?