• vue mint-ui 框架下拉刷新上拉加载组件的使用


    安装

    npm i mint-ui -S

    然后在main.js中引入

    import MintUI from 'mint-ui'
    import 'mint-ui/lib/style.css'
    Vue.use(MintUI)
    

    下拉刷新上拉加载更多数据

    <mt-loadmore :top-method="loadTop" :bottom-method="loadBottom" :bottom-all-loaded="allLoaded" ref="loadmore">
            <ul class="track-list">
              <li class="track-item" v-for="(item,index) in list" :key="index">
                哎哎哎
              </li>
            </ul>
          </mt-loadmore>
    
    • top-method绑定的是下拉刷新触发的方法
    • bottom-method是上拉加载触发的方法
    • bottom-all-loaded绑定的是否已加载完全部数据 ,默认为false,如果全部加载完数据之后,将allLoaded设置为true,这样就不会再去触发上拉加载的方法了

    this.allLoaded = true;

    全部代码

    <mt-loadmore :top-method="loadTop" :bottom-method="loadBottom" :bottom-all-loaded="allLoaded" ref="loadmore">
            <ul class="track-list" v-if="list.length!==0">
              <li class="track-item" v-for="(item,index) in list" :key="index">
                <div class="location"><span class="iconfont icon-location"></span>{{item.address}}附近</div>
                <div class="time"><span class="iconfont icon-time"></span>{{item.dateCreated}}</div>
              </li>
            </ul>
            <div class="no-data" v-else>暂无孩子轨迹位置信息</div>
          </mt-loadmore>
    
    
    
    // 下拉刷新
        loadTop(){
          this.curPage = 1
          this.getChildLocationList()
        },
        // 加载更多数据
        loadBottom(){
          this.curPage +=1
          this.getChildLocationList()
        },
    
    
        getChildLocationList(){
          this.allLoaded = false
          let dateCreated = this.dateCreated
          this.$api.childLocationList({
            params:{
              id:this.uid,
              cid:this.curChildId,
              dateCreated:dateCreated,
              isPager:1,//0-不分页,1-分页;
              pageNum:this.curPage,//第几页
              pageSize:this.pageSize//每页显示数据条数
            }
          }).then(res=>{
            if(res.code==2000){
              if(res.row){
                let _list = res.row.list
                this.curPage = res.row.pageNum
                this.pageSize = res.row.pageSize
                let totalPages = res.row.pages//总页数
                // 下拉刷新 加载更多
                setTimeout(() => {
                  this.$refs.loadmore.onTopLoaded();
                  this.$refs.loadmore.onBottomLoaded();
                }, 1000);
                if(this.curPage==1){
                  this.list = _list;
                }else{
                  if(this.curPage==totalPages){
                    this.allLoaded = true;// 若数据已全部获取完毕
                  }
                  this.list = this.list.concat(_list);//数组追加
                }
              }else{
                this.$refs.loadmore.onTopLoaded();
                this.allLoaded = true;// 若数据已全部获取完毕
                this.list = []
              }
            }else{
              this.$refs.loadmore.onTopLoaded();
            }
          })
        },
    
  • 相关阅读:
    Log4php使用指南
    【JQuery】使用JQuery 合并两个 json 对象
    【前端】JS截取字符串常用方法详细整理
    【.Net】net 反射15分钟速成
    【.Net】win10 uwp unix timestamp 时间戳 转 DateTime
    【ASP.NET Core】ASP.NET Core 依赖注入
    【ASP.NET 框架系列】您所经历的,但未必研究的那些技术
    Visual Studio 中设置npm
    【数据库】SQL分组多列统计(GROUP BY后按条件分列统计)
    【数据库】同一字段根据不同条件更新的sql语句的写法
  • 原文地址:https://www.cnblogs.com/fozero/p/10863611.html
Copyright © 2020-2023  润新知