MUI-最接近原生APP體驗的高性能前端框架
1.mui的上拉加載和下拉刷新類似席函,都屬于pullRefresh插件求摇,使用過程如下:
- 1峰鄙、頁面滾動到底,顯示“正在加載...”提示(mui框架提供)
- 2套蒂、執(zhí)行加載業(yè)務數據邏輯(開發(fā)者提供)
- 3钞支、加載完畢,隱藏"正在加載"提示(mui框架提供)
開發(fā)者只需關心業(yè)務邏輯操刀,實現加載更多數據即可
2.初始化方法類似下拉刷新烁挟,通過mui.init方法中pullRefresh參數配置上拉加載各項參數,如下:
mui.init({
pullRefresh : {
container:refreshContainer,//待刷新區(qū)域標識骨坑,querySelector能定位的css選擇器均可撼嗓,比如:id、.class等
up : {
height:50,//可選.默認50.觸發(fā)上拉加載拖動距離
auto:true,//可選,默認false.自動上拉加載一次
contentrefresh : "正在加載...",//可選欢唾,正在加載狀態(tài)時且警,上拉加載控件上顯示的標題內容
contentnomore:'沒有更多數據了',//可選,請求完畢若沒有更多數據時顯示的提醒內容礁遣;
callback :pullfresh-function //必選振湾,刷新函數,根據具體業(yè)務來編寫亡脸,比如通過ajax從服務器獲取新數據押搪;
}
}
});
3.結束上拉加載
加載完新數據后,需要執(zhí)行endPullupToRefresh()方法浅碾,結束轉雪花進度條的“正在加載...”過程
function pullfresh-function() {
//業(yè)務邏輯代碼大州,比如通過ajax從服務器獲取新數據;
......
//注意:
//1垂谢、加載完新數據后厦画,必須執(zhí)行如下代碼,true表示沒有更多數據了:
//2滥朱、若為ajax請求根暑,則需將如下代碼放置在處理完ajax響應數據之后
this.endPullupToRefresh(true|false);
}
4.重置上拉加載
若部分業(yè)務中,有重新觸發(fā)上拉加載的需求(比如當前類別已無更多數據徙邻,但切換到另外一個類別后排嫌,應支持繼續(xù)上拉加載),此時調用.refresh(true)方法缰犁,可重置上拉加載控件淳地,如下代碼:
//pullup-container為在mui.init方法中配置的pullRefresh節(jié)點中的container參數;
//注意:refresh()中需傳入true
mui('#pullup-container').pullRefresh().refresh(true);
5.禁用上拉刷新
在部分場景下希望禁用上拉加載帅容,比如在列表數據過少時颇象,不想顯示“上拉顯示更多”、“沒有更多數據”的提示語并徘,開發(fā)者可以通過調用disablePullupToRefresh()方法實現類似需求遣钳,代碼如下:
//pullup-container為在mui.init方法中配置的pullRefresh節(jié)點中的container參數;
mui('#pullup-container').pullRefresh().disablePullupToRefresh();
6.啟用上拉刷新
使用disablePullupToRefresh()方法禁用上拉加載后麦乞,可通過enablePullupToRefresh()方法再次啟用上拉加載蕴茴,代碼如下:
//pullup-container為在mui.init方法中配置的pullRefresh節(jié)點中的container參數;
mui('#pullup-container').pullRefresh().enablePullupToRefresh();