• 微信小程序


    注意和后端配合就行了,前端也只能把数据拼接起来!

    无论是下拉加载还是加载更多,一样的道理!

    注意首次加载传递参数

    注意每次加载数据数

    wxml

        <view class='table-rank'>
          <view class='tables center' wx:for="{{ranklist}}" wx:for-index="idx" wx:key="prototype">
            <view class='stage-rank'>
              {{idx+1}}
            </view>
            <view class='name'>{{item.name}}</view>
            <view class='price'>{{item.count}}</view>
          </view>
        </view>
    
        <view class='more'>
          <button loading="{{loading}}" disabled="{{disabled}}" catchtap="setLoading">{{loadText}}</button>
        </view>
    

    js

    var app = getApp().globalData;
    
    Page({
      data: {
        loadText: '加载更多',
        ranklist: [],
        count: 1
      },
    
    
      onLoad: function(res) {
        // 首次加载:传参数num:0
        let num = 0;
        let _page = this;
        let uid = wx.getStorageSync('uinfo').uid;
    
    
        wx.request({
          url: 'url',
          data: {
            uid,
            num
          },
          header: {
            'content-type': 'application/json'
          },
          method: 'GET',
          dataType: 'json',
          responseType: 'text',
          success(res) {
            _page.setData({
              ranklist: res.data.all_list,
              me: res.data.me
            });
          }
        })
      },
    
      //点击 加载更多 按钮
      setLoading(e) {
    
        let _this = this;
        let _page = this;
    
        // 暂存数据
        let ranklistBefore = _this.data.ranklist;
    
        let uid = wx.getStorageSync('uinfo').uid;
    
        // 每次加载数据条数(10)
        let num = _this.data.count++ * 10;
    
        wx.request({
          url: app.api.simulation_ranking,
          data: {
            uid,
            num
          },
          header: {
            'content-type': 'application/json'
          },
          method: 'GET',
          dataType: 'json',
          responseType: 'text',
          success(res) {
            // 每次加载数据,请求一次就发送10条数据过来
            let eachData = res.data.all_list;
    
            if (eachData.length == 0) {
              wx.showToast({
                title: '没有更多数据了!~',
                icon: 'none'
              })
            } else {
              wx.showToast({
                title: '数据加载中...',
                icon: 'none'
              })
            }
            
            _page.setData({
              loadText: "数据请求中",
              loading: true,
              ranklist: ranklistBefore.concat(eachData),
              loadText: "加载更多",
              loading: false,
            });
          }
        })
      }
    });
    

      

  • 相关阅读:
    .NET 5 Preview 1发布
    在WPF(core版本)中引用外部字体不可用问题说明
    10个用于C#.NET开发的基本调试工具
    C#的静态工厂方法与构造函数对比
    Xamarin.Forms 二维码扫描实践
    17个IoC 软件包和项目
    【火坑】一切从TimeSpan说起
    [推荐]icheck-bootstrap(漂亮的ckeckbox/radiobox)
    在Asp.Net Core MVC 开发过程中遇到的问题
    前端小白在asp.net core mvc中使用ECharts
  • 原文地址:https://www.cnblogs.com/cisum/p/10178893.html
Copyright © 2020-2023  润新知