解决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 相关文章推荐
Javascript学习笔记8 用JSON做原型
Jan 11 Javascript
ajax更新数据后,jquery、jq失效问题
Mar 16 Javascript
超轻量级的基于jquery的三级展开列表
Apr 26 Javascript
使用jquery的ajax需要注意的地方dataType的设置
Aug 12 Javascript
JavaScript中switch判断容易犯错的一个细节
Aug 27 Javascript
Javascript 数组排序详解
Oct 22 Javascript
JQuery实现动态适时改变字体颜色的方法
Mar 10 Javascript
js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换
Dec 06 Javascript
jQuery中的一些小技巧
Jan 18 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
May 31 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
Jul 10 Javascript
6行代码实现微信小程序页面返回顶部效果
Dec 28 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
用libtemplate实现静态网页生成
2006/10/09 PHP
PHP删除目录及目录下所有文件的方法详解
2013/06/06 PHP
浅谈PHP中其他类型转化为Bool类型
2016/03/28 PHP
Yii净化器CHtmlPurifier用法示例(过滤不良代码)
2016/07/15 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
2010/07/11 Javascript
offsetHeight在OnLoad中获取为0的现象
2013/07/22 Javascript
用js的for循环获取radio选中的值
2013/10/21 Javascript
javascript中的__defineGetter__和__defineSetter__介绍
2014/08/15 Javascript
详解AngularJS中的依赖注入机制
2015/06/17 Javascript
jquery实现页面常用的返回顶部效果
2016/03/04 Javascript
js滚轮事件兼容性问题需要注意哪些
2016/11/15 Javascript
JavaScript Date 知识浅析
2017/01/29 Javascript
JS实现隔行换色的表格排序
2017/03/27 Javascript
js禁止表单重复提交
2017/08/29 Javascript
webstorm+vue初始化项目的方法
2018/10/18 Javascript
JavaScript学习笔记之DOM基础操作实例小结
2019/01/09 Javascript
详解小程序中h5页面onShow实现及跨页面通信方案
2019/05/30 Javascript
Flutter实现仿微信底部菜单栏功能
2019/09/18 Javascript
Python subprocess模块学习总结
2014/03/13 Python
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
Python正则表达式如何进行字符串替换实例
2016/12/28 Python
Python实现PS图像调整颜色梯度效果示例
2018/01/25 Python
Python实现的质因式分解算法示例
2018/05/03 Python
pyqt 多窗口之间的相互调用方法
2019/06/19 Python
python利用openpyxl拆分多个工作表的工作簿的方法
2019/09/27 Python
Django用户身份验证完成示例代码
2020/04/03 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
2020/09/28 Python
pandas 按日期范围筛选数据的实现
2021/02/20 Python
HTML5 Web Workers之网站也能多线程的实现
2013/04/24 HTML / CSS
美国最大的农村生活方式零售店:Tractor Supply Company(TSC)
2017/05/15 全球购物
初中化学教学反思
2014/01/23 职场文书
致接力运动员广播稿
2014/02/17 职场文书
2014年六一儿童节演讲稿
2014/05/23 职场文书
赡养老人协议书范本
2015/08/06 职场文书
MySQL中你可能忽略的COLLATION实例详解
2021/05/12 MySQL