mint-ui VUE 下拉刷新

Posted wangrong-0823

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mint-ui VUE 下拉刷新相关的知识,希望对你有一定的参考价值。

第一步 引用官网的步骤

import { InfiniteScroll } from mint-ui;

Vue.use(InfiniteScroll);

第二步 在页面中使用  (为 html 元素添加 v-infinite-scroll 指令即可使用无限滚动)

<div
          v-infinite-scroll="loadMore"
          infinite-scroll-disabled="loading"
          infinite-scroll-distance="10">
              <div class="mui-card" v-for="item in jieMess" @click="toDetail(item)">
                    <div class="mui-card-header">
                        <p class="tou">接班信息 </p>
                        <img class="huang" src="../../../img/huang.png" />
                    </div>
                    <div class="mui-card-content">
                        <p>交班人:{{item.nickname}}</p>
                        <p>交班时间:{{item.addtime}}</p>
                        <p>接班状态:{{item.enter}}</p>
                        <img class="status" :src=" item.img1 " />
                    </div>
        
                </div>
        </div>
        
        <!-- 无数据时显示 -->
        <p class="none"  v-show="none">没有更多公告信息</p>

第三步 在methods中写一个方法获取到数据,再用loadMore()再一次调用

methods: {
            //获取未确认接班信息数据
            getJieban() {
                this.user = JSON.parse(localStorage.getItem("user"))
                this.jieMess.token = this.user.token
                this.$http
                    .post("api/v1/getjieban"+"/page/"+this.page + "/num/" +this.num,{
                        token:this.jieMess.token,
                    })
                    .then(function(result) {
                        if(result.body.status === 200) {
                            //如果接口数据的长度等于0,那么提示用户没有数据
                            if(result.body.data.length === 0) {
                                this.none = true
                                return
                            } else if(result.body.data.length<this.num){
                                //当接口数据的长度小于this.num(显示的条数),设置 none等于true,提示用户没有数据了
                                this.none = true
                                result.body.data.forEach((ele) => {
                                    //初始化data的enter 和 img1  把enter img1属性加入到数组对象中
                                    this.$set(ele, enter, ‘‘)
                                    this.$set(ele, img1, ‘‘)
                                    if(ele.state == 0) {
                                        this.$set(ele, enter, 未接班)
                                        this.$set(ele, img1, require(../../../img/error.png))
                                    } else if(ele.state == 1) {
                                        this.$set(ele, enter, 已接班)
                                        this.$set(ele, img1, require(../../../img/enter.png))
                                    } else if(ele.state == 2) {
                                        this.$set(ele, enter, 接班超时)
                                        this.$set(ele, img1, require(../../../img/error.png))
                                    }
                                })
                                this.jieMess = this.jieMess.concat(result.body.data) 
                            }else{
                                result.body.data.forEach((ele) => {
                                    this.$set(ele, enter, ‘‘)
                                    this.$set(ele, img1, ‘‘)
                                    if(ele.state == 0) {
                                        this.$set(ele, enter, 未接班)
                                        this.$set(ele, img1, require(../../../img/error.png))
                                    } else if(ele.state == 1) {
                                        this.$set(ele, enter, 已接班)
                                        this.$set(ele, img1, require(../../../img/enter.png))
                                    } else if(ele.state == 2) {
                                        this.$set(ele, enter, 接班超时)
                                        this.$set(ele, img1, require(../../../img/error.png))
                                    }
                                    
                                })
                                this.jieMess = this.jieMess.concat(result.body.data) 
                            }
                            Indicator.close();
                        } else if(result.body.status === 201) {
                            Indicator.close();
                            Toast({
                                message: result.body.message,
                                duration: 2000
                            });
                        }
                    }, function(result) {
                        Indicator.close();
                        Toast({
                            message: "服务器异常",
                            duration: 2000
                        })
                    })
            },
            //为 HTML 元素添加 v-infinite-scroll 指令即可使用无限滚动  
            //使接口的page++ 再调用一次获取接口的函数
            loadMore(){
                this.page++
                this.getJieban()
            },
        },

前面的一些定义需要自己在data里面定义,就可以实现下拉刷新了

以上是关于mint-ui VUE 下拉刷新的主要内容,如果未能解决你的问题,请参考以下文章

Vue-上拉加载与下拉刷新(mint-ui:loadmore)一个页面使用多个上拉加载后冲突问题

vue移动端Ui组件 mint-ui 使用指南

Mint-ui中loadmore(上拉加载下拉刷新)组件在ios中滑动会触发点击事件的解决方法

vue和mintui-Loadmore结合实现下拉刷新,上拉加载 (待优化)

mint-ui下拉加载min和上拉刷新(demo实例)

Mint-UI