解決Vue使用mint-ui loadmore實(shí)現(xiàn)上拉加載與下拉刷新出現(xiàn)一個(gè)頁(yè)面使用多個(gè)上拉加載后沖突問(wèn)題
所遇問(wèn)題:
該頁(yè)面為雙選項(xiàng)卡聯(lián)動(dòng),四個(gè)部分都需要上拉加載和下拉刷新功能,使用的mint-ui的loadmore插件,分別加上上拉加載后,只有最后一個(gè)的this.$refs.loadmore.onTopLoaded();和this.$refs.loadmore.onBottomLoaded();
有效,其他的三個(gè)都無(wú)效,這兩句話是意思是查詢完要調(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)入頁(yè)面我們默認(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)開(kāi)始所描述問(wèn)題,
解決方法
一開(kāi)始做了很多嘗試,比如利用v-if當(dāng)一個(gè)模塊顯示時(shí)讓其他三個(gè)隱藏,總是會(huì)出現(xiàn)不同的問(wèn)題,后來(lái)將ref="loadmore"中ref后的參數(shù)在四個(gè)模塊中做了區(qū)分比如分別為loadmore1,loadmore2……,這里我是這樣理解的,ref 在此的作用為子組件指定一個(gè)索引 ID,類似于dom元素的id,id名不能相同,所以我們將ref修改為不同的參數(shù),問(wèn)題解決,
附Vue官網(wǎng)鏈接https://vuejs.org/
mint-ui:https://mint-ui.github.io/docs/#/en2/loadmore
PS:mint-ui loadmore組件注意問(wèn)題
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è)頁(yè)面使用多個(gè)上拉加載后沖突問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(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)下拉刷新和無(wú)限滾動(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項(xiàng)目打包后通過(guò)百度的BAE發(fā)布到網(wǎng)上的流程
這篇文章主要介紹了將vue的項(xiàng)目打包后通過(guò)百度的BAE發(fā)布到網(wǎng)上的流程,主要運(yùn)用的技術(shù)是vue+express+git+百度的應(yīng)用引擎BAE。需要的朋友可以參考下2018-03-03
使用 Element UI Table 的 slot-scope方法
這篇文章主要介紹了使用 Element UI Table 的 slot-scope方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
vue3 element-plus如何使用icon圖標(biāo)組件
這篇文章主要介紹了vue3 element-plus如何使用icon圖標(biāo)組件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
el?autocomplete支持分頁(yè)上拉加載使用詳解
這篇文章主要為大家介紹了el?autocomplete支持分頁(yè)上拉加載使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
vue項(xiàng)目中添加electron的詳細(xì)代碼
這篇文章通過(guò)實(shí)例代碼給大家介紹了vue項(xiàng)目中添加electron的方法,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-11-11

