解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题


Posted in Javascript onNovember 07, 2017

所遇问题:

该页面为双选项卡联动,四个部分都需要上拉加载和下拉刷新功能,使用的mint-ui的loadmore插件,分别加上上拉加载后,只有最后一个的this.$refs.loadmore.onTopLoaded();this.$refs.loadmore.onBottomLoaded();

有效,其他的三个都无效,这两句话是意思是查询完要调用一次,用于重新定位 

解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题

分析原因:

首先这四个模块都是用的

 

<mt-loadmore :top-method="loadTop"
     :bottom-method="loadBottom"
     :bottom-all-loaded="allLoaded"
     ref="loadmore">
     <ul class="ul-box">
     <li class="list-cell ta-line" v-for="(item,index) in gridNoPayMail" :key="item+'walletdetail1'" @click="choose(index)">
      <div class="checkboxOne">
      <input type="checkbox" name="checkInput" :id="'id1' + index" v-model="item.checked" disabled/>
      <label :for="'id1' + index"></label>
      </div>
      <div class="left-text">
      <p class="award">{{item.a}}</p>
      <p class="time">{{item.b}}</p>
      </div>
      <div class="right-text">
      <p class="addinfo">¥{{item.c}}</p>
      </div>
     </li>
     </ul>
    </mt-loadmore>

top-method和bottom-method,bottom-all-loaded分别赋予不同的事件名,前两个事件分别表示下拉,上拉,第三个若为真,则 bottomMethod 不会被再次触发,一般进入页面我们默认为false

调用接口成功后进行的取消加载的判断,这里可以给接口的方法一个type值,如果type为top1时则证明正在进行的是下拉刷新执行this.$refs.loadmore1.onTopLoaded();,上拉加载同理,其他三个模块同理

if(type=='top1'){
   this.$refs.loadmore1.onTopLoaded();
   }else if(type=='bottom1'){ 
this.$refs.loadmore1.onBottomLoaded();
}

到了这里就会出现开始所描述问题,

解决方法

一开始做了很多尝试,比如利用v-if当一个模块显示时让其他三个隐藏,总是会出现不同的问题,后来将ref="loadmore"中ref后的参数在四个模块中做了区分比如分别为loadmore1,loadmore2……,这里我是这样理解的,ref 在此的作用为子组件指定一个索引 ID,类似于dom元素的id,id名不能相同,所以我们将ref修改为不同的参数,问题解决,

 附Vue官网链接https://vuejs.org/

mint-ui:https://mint-ui.github.io/docs/#/en2/loadmore

PS:mint-ui loadmore组件注意问题

loadTop(){
    this.$store.dispatch('getNewsList',{channelId:this.id,page:0,size:this.size});
    this.$refs.loadmore.onTopLoaded();
},

比如在做下拉刷新的时候,切记在下拉刷新的函数中要加

this.$refs.loadmore.onTopLoaded();

这行代码,否则下拉加载之后一直显示加载中,而不会加载完成。

总结

以上所述是小编给大家介绍的Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
prototype class详解
Sep 07 Javascript
jquery 缓存问题的几个解决方法
Nov 11 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
Apr 16 Javascript
跟我学习javascript的严格模式
Nov 16 Javascript
AngularJS实现元素显示和隐藏的几个案例
Dec 09 Javascript
AngularJS 过滤器(自带和自建)详解
Sep 19 Javascript
r.js来合并压缩css文件的示例
Apr 26 Javascript
vue用递归组件写树形控件的实例代码
Jul 19 Javascript
vue 组件的封装之基于axios的ajax请求方法
Aug 11 Javascript
JS实现导航栏楼层特效
Jan 01 Javascript
node.js通过Sequelize 连接MySQL的方法
Dec 28 Javascript
threejs太阳光与阴影效果实例代码
Apr 05 Javascript
vue组件间通信子与父详解(二)
Nov 07 #Javascript
原生JS实现 MUI导航栏透明渐变效果
Nov 07 #Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
Nov 07 #Javascript
vue组件父与子通信详解(一)
Nov 07 #Javascript
vue组件父子间通信之综合练习(聊天室)
Nov 07 #Javascript
Mint UI 基于 Vue.js 移动端组件库
Nov 07 #Javascript
vue中SPA单页面应用程序详解
Nov 07 #Javascript
You might like
PHP正确配置mysql(apache环境)
2011/08/28 PHP
php使HTML标签自动补全闭合函数代码
2012/10/04 PHP
利用curl抓取远程页面内容的示例代码
2013/07/23 PHP
强制PHP命令行脚本单进程运行的方法
2014/04/15 PHP
php获取网站百度快照日期的方法
2015/07/29 PHP
PHP连接MySQL数据库并以json格式输出
2018/05/21 PHP
基础的prototype.js常用函数及其用法
2007/03/10 Javascript
Javascript 面向对象(二)封装代码
2012/05/23 Javascript
js表头排序实现方法
2015/01/16 Javascript
json定义及jquery操作json的方法
2016/09/29 Javascript
Express + Node.js实现登录拦截器的实例代码
2017/07/01 Javascript
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
2017/07/10 Javascript
微信小程序实现tab和swiper切换结合效果
2020/07/17 Javascript
仿京东快报向上滚动的实例
2017/12/13 Javascript
微信小程序签到功能
2018/10/31 Javascript
详解小程序rich-text对富文本支持方案
2018/11/28 Javascript
最简单的JS实现json转csv的方法
2019/01/10 Javascript
JavaScript数据结构与算法之检索算法实例分析【顺序查找、最大最小值、自组织查询】
2019/02/22 Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
2020/01/21 Javascript
JS 设计模式之:工厂模式定义与实现方法浅析
2020/05/06 Javascript
Python编程语言的35个与众不同之处(语言特征和使用技巧)
2014/07/07 Python
python判断字符串是否纯数字的方法
2014/11/19 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
Python将json文件写入ES数据库的方法
2019/04/10 Python
关于ZeroMQ 三种模式python3实现方式
2019/12/23 Python
python对Excel的读取的示例代码
2020/02/14 Python
Django 设置多环境配置文件载入问题
2020/02/25 Python
用python实现前向分词最大匹配算法的示例代码
2020/08/06 Python
Bose法国官网:购买耳机、扬声器、家庭影院、专业音响
2017/12/21 全球购物
写自荐信三大法宝
2014/01/24 职场文书
社区母亲节活动方案
2014/03/05 职场文书
我的中国梦口号
2014/06/16 职场文书
《蓝鲸的眼睛》读后感5篇
2020/01/15 职场文书
教你用Python写一个植物大战僵尸小游戏
2021/04/25 Python
python 实现体质指数BMI计算
2021/05/26 Python
navicat 连接Ubuntu虚拟机的mysql的操作方法
2022/04/02 MySQL