zoukankan      html  css  js  c++  java
  • 微信小程序(2)--下拉刷新和上拉加载更多

    下拉刷新

    1.首先在.json文件中配置(如果在app.json文件中配置,那么整个程序都可以下拉刷新。如果写在具体页面的.json文件中,那么就是对应的页面下拉刷新。)

    具体页面的.json文件:

    {
      "enablePullDownRefresh":true
    }  

    app.json文件:

      "window":{
        "enablePullDownRefresh": true

    2.js文件中添加回调函数

     /**
       * 页面相关事件处理函数--监听用户下拉动作
       */
      onPullDownRefresh: function () {
    
      },

    上拉加载更多(不需要配置)

      /**
       * 页面上拉触底事件的处理函数
       */
    onReachBottom: function () {
      
     },

    1.publish.wxml文件

    <block wx:for="{{publishs}}" wx:key="publishs">
    <view class="publish">
      <text>{{item.songname}}</text>
    </view>
    </block>
    <view class="weui-loadmore" hidden="{{!isHideLoadMore}}">
        <view class="weui-loading"></view>
        <view class="weui-loadmore__tips">正在加载</view>
    </view>
    <view class="Completesollow"  hidden="{{!searchLoadingComplete}}">没有更多了...</view>

    2.publish.js文件

    /**
       * 页面的初始数据
       */
      data: {
        publishs:[],
        isHideLoadMore:false,  //"上拉加载"的变量,默认false,隐藏  
        searchLoadingComplete:false,  //“没有数据”的变量,默认false,隐藏 
        page:1, //第一页
        isFromSearch:true
      },
    
      /**
       * 生命周期函数--监听页面加载
       */
      onLoad: function (options) {
        this.dataget()
      },
      dataget:function(){
        var that = this
        wx.request({
          url: 'https://c.y.qq.com/soso/fcgi-bin/search_for_qq_cp?g_tk=5381&uin=0&format=json&inCharset=utf-8&outCharset=utf-8&notice=0&platform=h5&needNewCode=1&w=%E9%9F%B3%E4%B9%90&zhidaqu=1&catZhida=1&t=0&flag=1&ie=utf-8&sem=1&aggr=0&perpage=20&n=15&p='+this.data.page+'&remoteplace=txt.mqq.all&_=1501467319794', //仅为示例,并非真实的接口地址
          data: {
            x: '',
            y: ''
          },
          header: {
            'content-type': 'application/json'
          },
          success: function (res) {
            console.log(res.data)
              //判断是否有数据,有则取数据 
            if (res.data.data.song.curnum!= 0) {
              let searchList = [];
              //如果isFromSearch是true从data中取出数据,否则先从原来的数据继续添加  数据继续添加进数组 that.data.publishs.concat
              that.data.isFromSearch ? searchList = res.data.data.song.list : searchList = that.data.publishs.concat(res.data.data.song.list)
            that.setData({
              publishs: searchList,
              isHideLoadMore: true,
            })
            }else{
              that.setData({
                searchLoadingComplete: true, //显示  
                isHideLoadMore: false  //把"上拉加载"的变量设为false,隐藏  
              });
            }
          }
        })
      },
      //加载更多
      onReachBottom: function () {
        console.log('加载更多')
        setTimeout(() => {
          this.setData({
            // isHideLoadMore: true,
            // searchLoadingComplete: false,
            page:this.data.page+1,
            isFromSearch: false 
          })
          this.dataget();
        }, 1000)
      },
  • 相关阅读:
    第十六节 URL映射的时候指定默认参数
    第十五节 自定义path转换器
    第十四节 reverse函数补充
    第十一节 实例命名空间
    第十节 url命名和应用命名空间
    第八节 url解释器
    MySQL条件查询
    MySQL判断数据是否为空
    MySQL拼接字符串
    MySQL加号+ 的作用
  • 原文地址:https://www.cnblogs.com/juewuzhe/p/7263553.html
Copyright © 2011-2022 走看看