解決Vue使用mint-ui loadmore實(shí)現(xiàn)上拉加載與下拉刷新出現(xiàn)一個(gè)頁面使用多個(gè)上拉加載后沖突問題
所遇問題:
該頁面為雙選項(xiàng)卡聯(lián)動(dòng),四個(gè)部分都需要上拉加載和下拉刷新功能,使用的mint-ui的loadmore插件,分別加上上拉加載后,只有最后一個(gè)的this.$refs.loadmore.onTopLoaded();
和this.$refs.loadmore.onBottomLoaded();
有效,其他的三個(gè)都無效,這兩句話是意思是查詢完要調(diào)用一次,用于重新定位
分析原因:
首先這四個(gè)模塊都是用的
<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分別賦予不同的事件名,前兩個(gè)事件分別表示下拉,上拉,第三個(gè)若為真,則 bottomMethod 不會(huì)被再次觸發(fā),一般進(jìn)入頁面我們默認(rèn)為false
調(diào)用接口成功后進(jìn)行的取消加載的判斷,這里可以給接口的方法一個(gè)type值,如果type為top1時(shí)則證明正在進(jìn)行的是下拉刷新執(zhí)行this.$refs.loadmore1.onTopLoaded();
,上拉加載同理,其他三個(gè)模塊同理
if(type=='top1'){ this.$refs.loadmore1.onTopLoaded(); }else if(type=='bottom1'){ this.$refs.loadmore1.onBottomLoaded(); }
到了這里就會(huì)出現(xiàn)開始所描述問題,
解決方法
一開始做了很多嘗試,比如利用v-if當(dāng)一個(gè)模塊顯示時(shí)讓其他三個(gè)隱藏,總是會(huì)出現(xiàn)不同的問題,后來將ref="loadmore"中ref后的參數(shù)在四個(gè)模塊中做了區(qū)分比如分別為loadmore1,loadmore2……,這里我是這樣理解的,ref 在此的作用為子組件指定一個(gè)索引 ID,類似于dom元素的id,id名不能相同,所以我們將ref修改為不同的參數(shù),問題解決,
附Vue官網(wǎng)鏈接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(); },
比如在做下拉刷新的時(shí)候,切記在下拉刷新的函數(shù)中要加
this.$refs.loadmore.onTopLoaded();
這行代碼,否則下拉加載之后一直顯示加載中,而不會(huì)加載完成。
總結(jié)
以上所述是小編給大家介紹的Vue使用mint-ui loadmore實(shí)現(xiàn)上拉加載與下拉刷新出現(xiàn)一個(gè)頁面使用多個(gè)上拉加載后沖突問題,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- vue.js移動(dòng)端app之上拉加載以及下拉刷新實(shí)戰(zhàn)
- vue.js整合vux中的上拉加載下拉刷新實(shí)例教程
- vue使用mint-ui實(shí)現(xiàn)下拉刷新和無限滾動(dòng)的示例代碼
- vueScroll實(shí)現(xiàn)移動(dòng)端下拉刷新、上拉加載
- vue插件mescroll.js實(shí)現(xiàn)移動(dòng)端上拉加載和下拉刷新
- vue2.0 移動(dòng)端實(shí)現(xiàn)下拉刷新和上拉加載更多的示例
- vue使用better-scroll實(shí)現(xiàn)下拉刷新、上拉加載
- vue移動(dòng)端實(shí)現(xiàn)下拉刷新
- vue移動(dòng)端下拉刷新和上拉加載的實(shí)現(xiàn)代碼
- vue實(shí)現(xiàn)原生下拉刷新
相關(guān)文章
vue報(bào)錯(cuò)Failed to execute 'appendChild&apos
這篇文章主要為大家介紹了vue報(bào)錯(cuò)Failed to execute 'appendChild' on 'Node'解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11vue二級(jí)菜單導(dǎo)航點(diǎn)擊選中事件的方法
今天小編就為大家分享一篇vue二級(jí)菜單導(dǎo)航點(diǎn)擊選中事件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-09-09vue實(shí)現(xiàn)豎屏滾動(dòng)公告效果
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)豎屏滾動(dòng)公告效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04深入了解vue-router原理并實(shí)現(xiàn)一個(gè)小demo
這篇文章主要為大家詳細(xì)介紹了vue-router原理并實(shí)現(xiàn)一個(gè)小demo,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03node+vue前后端分離實(shí)現(xiàn)登錄時(shí)使用圖片驗(yàn)證碼功能
這篇文章主要介紹了node+vue前后端分離實(shí)現(xiàn)登錄時(shí)使用圖片驗(yàn)證碼,記錄前端使用驗(yàn)證碼登錄的過程,后端用的是node.js,關(guān)鍵模塊是svg-captcha,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11