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