VantUI中的van-list,即瀑布流滾動加載,用于展示長列表,當(dāng)列表即將滾動到底部時(shí),會觸發(fā)事件并加載更多列表項(xiàng)。
官網(wǎng)給出的示例如圖所示:

首先設(shè)置listLoading和finished兩個(gè)變量,listLoading控制列表數(shù)據(jù)的加載狀態(tài),finished為是否已加載完成,加載完成后不再觸發(fā)load事件。

@load="onLoadList"綁定了一個(gè)加載事件,當(dāng)滾動條與底部距離小于 offset 時(shí)觸發(fā)。
在onLoadList方法中請求后臺數(shù)據(jù),由于當(dāng)組件滾動到底部時(shí),會觸發(fā) load 事件并將 loading 設(shè)置成 true,只需要獲取成功后修改listLoading與finished的值即可,如圖所示:


但是執(zhí)行時(shí),卻會發(fā)生請求異常問題,onload事件不斷觸發(fā),數(shù)據(jù)會不停的請求并加載。
此時(shí)我們需要將listLoading和finished兩個(gè)變量初始化,


這樣便可以解決同時(shí)發(fā)出多個(gè)請求的問題。
若修改之后問題還沒有解決,可能是因?yàn)橐淮握埱蠹虞d的數(shù)據(jù)條數(shù)較少,導(dǎo)致列表內(nèi)容無法鋪滿當(dāng)前屏幕,List 會繼續(xù)觸發(fā) load 事件,直到內(nèi)容鋪滿屏幕或數(shù)據(jù)全部加載完成。解決方法就是將offset值設(shè)置的高一點(diǎn)(默認(rèn)是300)。
上一篇: 層級選擇器之關(guān)鍵詞搜索功能



