mint-ui的loadmore的使用

项目中需要用到下拉刷新与上拉加载,于是就用到了mint-ui里面的loadmore组件,下面就来记录下loadmore组件的使用方式与注意事项.
首先上图,看下我在项目里面是怎么使用的.

整体使用方式如下:

<div class="notificationList">
            <ul ref="wrapper" :style="{height: contentH + 'px'}">
                <Loadmore :top-method="notificationListLoadTop" :bottom-method="notificationlListLoadBottom" :bottom-all-loaded="isAllLoaded"
                    ref="loadmore" :autoFill="false" :bottomDistance="30">
                    <li v-for="(item,index) in messageList" :key="index">
                        <p class="notificationTime font24 textC color9f9f9f" v-cloak>{{item.sendTime}}</p>
                        <div class="notification">
                            <h3 class="notificationTitle font30" v-cloak>{{item.title}}</h3>
                            <p class="font26 color9f9f9f" v-text="item.content">

                            </p>
                        </div>
                    </li>
                </Loadmore>
            </ul>
        </div>

1:loadmore组件的引入与配置.

import { Loadmore } from 'mint-ui';
Vue.component(Loadmore.name, Loadmore);
components: {
            "v-header": Header,
            Loadmore,
        }

2:顶部下拉刷新的方法:

①:对应的是loadmore组件中的 :top-method的方法.
②: 在顶部上拉刷新的方法中,最后都必须要调用 this.$refs.loadmore.onTopLoaded()这个方法.
③:使用loadmore肯定就是为了分页,肯定要将分页重置为1.

            notificationListLoadTop() {
                this.current = 1;//重置分页为1
               //其他的数据请求
                this.$refs.loadmore.onTopLoaded();
            }

3:底部上拉刷新的方法:

①:对应的是loadmore组件中的 :bottom-method的方法.
②: 在顶部上拉刷新的方法中,最后都必须要调用 this.$refs.loadmore.onTopLoaded()这个方法.
在结束前同时要将allLoaded设置为true.表示数据已全部获取完毕.
allLoaded在data中默认设置为false.

notificationlListLoadBottom() {
                //数据请求.
                this.allLoaded = true; // 若数据已全部获取完毕
                this.$refs.loadmore.onBottomLoaded();
            }

4:解决在手机上可以查看,pc上无法查看的问题.

因为list是通过后台获取的,可能会存在没有高度的情况,给loadmore组件的父元素添加高度就好了.
在html上面设置.

  <ul ref="wrapper" :style="{height: contentH + 'px'}">
     <loadmore>
        <!-- 具体的操作 -->
     <loadmore>
  </ul>

在js中的mounted钩子里面给盒子增加高度.

mounted() {
            this.$nextTick(function () {
                 this.contentH = document.documentElement.clientHeight - 
                 this.$refs.wrapper.getBoundingClientRect().top;
            }),
            
        },
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,039评论 3 119
  • 窗外阳光明媚,你低头趴在桌子上,她们都以为你在休息,可只有我透过你眼里的茫然明白你是又沉浸在了自己的世界里了。 十...
    洪阿柒阅读 1,696评论 0 0
  • 工作中或者生活中都会涉及到工作交接,不仅涉及为人处事,你的人际关系,你的办事能力,还严重影响领导安排给你工...
    robot_test_boy阅读 3,146评论 1 1
  • 我曾经极度经常给自己寻找救赎,甚至有了宗教信仰,信仰耶稣。仅仅是因为去教堂参观,在基督教介绍的扉页的中瞥见一句话,...
    Eden_Black阅读 1,566评论 0 1
  • 日精进打卡 姓名:胡军军 公司:臻品臻爱环境科技有限公司 【日精进打卡第8天】 【知~学习】诵读大学3遍 【行~实...
    狄德罗的睡袍阅读 1,365评论 0 0