微信小程序列表页实现上拉刷新

  • Post author:
  • Post category:小程序


需求:

产品类别页上拉刷新数据;

js文件:

const configurl = require('../../config.js');
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    lists:[],
    pid:0,
    page:0,
    is_get:true,//是否发送请求
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    options.pid = options.pid>0?options.pid:0;
    var that = this;
    that.setData({
      pid:options.pid
    })

    //产品列表
     if (this.data.is_get) {
      this.ajaxlist();
    }
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if (this.data.is_get) {
     this.ajaxlist();
    }
  },

  ajaxlist:function(){
    var that = this;
    var page = that.data.page;
    var pid = that.data.pid;
    wx.request({
      url: configurl.getajaxlist,
      method: "GET",
      data: {
        page: page,
        pid: pid,
      },
      // 请求头部  
      header: {
        'content-type': 'application/text'
      },
      success: function (res) {
        page = res.data.length > 5 ? page + 1 : page;
        var is_get = that.data.page == page ? false : true;
        var lists = that.data.lists.concat(res.data);
        that.setData({
          lists: lists,
          page: page,
          is_get:is_get
        })
      }
    })
  }
 
})

php:

    public function ajaxlists(){
        $pid = I("get.pid");
        $page = I("get.page",1,"intval");
        $pagecount = 6;
        $start = $page * $pagecount;
        if($pid){
            $w['pid'] = $pid;
        }else{
            $w['pid'] = array('gt',0);
        }

        $data = M('goods')->where($w)->field('`id`,`pid`,`title`,`img`')->order("`order` desc,`time` desc")->limit($start,$pagecount)->select();
        $this->response($data);

    }



版权声明:本文为qq_37301074原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。