0
点赞
收藏
分享

微信扫一扫

学习mescroll的下拉刷新、上拉加载

猎书客er 2022-04-21 阅读 54
vue.js

mescroll的uni版本, 是在 uni-app 运行的下拉刷新和上拉加载的组件,用着挺不错的

结合官网看 认真看官方文档收获十分大
官网讲解很详细:http://www.mescroll.com/uni.html#mescrolluni

mescroll的最重要的两个事件
上拉事件在这里插入图片描述下拉事件
在这里插入图片描述

上拉加载事件示例:

  <mescroll-uni
          ref="mescrollRef"
          @init="mescrollInit"
          @down="downCallback"
          @up="upCallback"
          :down="downOption"
          :up="upOption"
          :fixed="false"
          >
        </mescroll-uni>
  /* 上拉加载的回调事件  */
    async upCallback(pageObj) {
      console.log(pageObj, "pageObj");
       /*  pageObj里面有num和size值 */
      const current = pageObj.num; // 页码, 默认从1开始
      const size = pageObj.size; // 页长, 默认每页10条
      const res = await TechnicalData({
        page: { current, size },
      });
      console.log({ ...this.searchFiltersObj }, "...this.searchFiltersObj");
      if (!res || res.code !== "200" || !res.data) {
        //  请求失败,隐藏加载状态
        uni.showToast({
          title: res.msg || res.message,
          icon: "error",
        });
        this.mescroll.endErr();
        console.log(res, "resdddddddddddddd");
        return;
      }
      if (pageObj.num === 1) this.TechnicalData = []; // 如果是第一页需手动置空列表
      this.TechnicalData = [...this.TechnicalData, ...res.data];
      const data = res.data;
      // 接口返回的当前页数据列表 (数组)
      // const curPageData = data.records;
      const curPageData = data;
      // 接口返回的当前页数据长度 (如列表有26个数据,当前页返回8个,则curPageLen=8)
      const curPageLen = curPageData.length;
      // 接口返回的总数据量(如列表有26个数据,每页10条,共3页; 则totalSize=26)
      // 值对不上
      // const totalSize = data.total;
      const totalSize = data;
      this.mescroll.endBySize(curPageLen, totalSize);
    },

注意: mescroll无需配置pages.json (检查是否配置了多余的属性)

举报

相关推荐

0 条评论