解决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 相关文章推荐
jQuery 菜单随滚条改为以定位方式(固定要浏览器顶部)
May 24 Javascript
js获取视频时长代码
Apr 10 Javascript
javascript学习笔记(八)正则表达式
Oct 08 Javascript
创建自己的jquery表格插件
Nov 25 Javascript
基于jquery实现即时检查格式是否正确的表单
May 06 Javascript
JavaScript获取服务器端时间的方法
Nov 29 Javascript
JavaScript实现经纬度转换成地址功能
Mar 28 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
Sep 10 Javascript
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
Jul 12 Javascript
js canvas实现画图、滤镜效果
Nov 27 Javascript
vue 使用class创建和清除水印的示例代码
Dec 25 Vue.js
iview实现动态表单和自定义验证时间段重叠
Jan 10 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
laravel 解决多库下的DB::transaction()事务失效问题
2019/10/21 PHP
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
一个选择最快的服务器转向代码
2009/04/27 Javascript
JQ获取动态加载的图片大小的正确方法分享
2013/11/08 Javascript
基于bootstrap的选择框插件icheck
2016/12/23 Javascript
ES6中参数的默认值语法介绍
2017/05/03 Javascript
详解Vue 事件修饰符capture 的使用
2017/12/29 Javascript
Vue中的作用域CSS和CSS模块的区别
2018/10/09 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
2019/08/27 Javascript
Node.js文本文件BOM头的去除方法
2020/11/22 Javascript
[03:49]显微镜下的DOTA2第十五期—VG登基之路完美团
2014/06/24 DOTA
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
python中bisect模块用法实例
2014/09/25 Python
在Python中处理时间之clock()方法的使用
2015/05/22 Python
Windows下安装python2和python3多版本教程
2017/03/30 Python
使用Python写一个贪吃蛇游戏实例代码
2017/08/21 Python
python基本语法练习实例
2017/09/19 Python
python ansible服务及剧本编写
2017/12/29 Python
基于Python Numpy的数组array和矩阵matrix详解
2018/04/04 Python
详解Python 数据库的Connection、Cursor两大对象
2018/06/25 Python
python学生信息管理系统(完整版)
2020/04/05 Python
Python设计模式之迭代器模式原理与用法实例分析
2019/01/10 Python
十行代码使用Python写一个USB病毒
2019/06/21 Python
python实现比较类的两个instance(对象)是否相等的方法分析
2019/06/26 Python
django框架使用views.py的函数对表进行增删改查内容操作详解【models.py中表的创建、views.py中函数的使用,基于对象的跨表查询】
2019/12/12 Python
使用pyinstaller逆向.pyc文件
2019/12/20 Python
python文件排序的方法总结
2020/09/13 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
世界首屈一指的钓鱼用品商店:TackleDirect
2016/07/26 全球购物
应届大学生的推荐信
2013/11/20 职场文书
数控专业个人求职信范文
2014/02/05 职场文书
厨师个人自我鉴定范文
2014/04/19 职场文书
学校安全教育月活动总结
2014/07/07 职场文书
旷工检讨书大全
2015/08/15 职场文书
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android