成熟丰满熟妇高潮XXXXX,人妻无码AV中文系列久久兔费 ,国产精品一国产精品,国精品午夜福利视频不卡麻豆

您好,歡迎來到九壹網(wǎng)。
搜索
您的當前位置:首頁vue使用mint-ui實現(xiàn)下拉刷新和無限滾動的示例代碼

vue使用mint-ui實現(xiàn)下拉刷新和無限滾動的示例代碼

來源:九壹網(wǎng)

在開發(fā)web-app中,總會遇到v-for出來的li會有很多,當數(shù)據(jù)達幾百上千條的時候,一起加載出來會造成用戶體驗很差的效果。
這時候我們可以使用無限滾動和下拉刷新來實現(xiàn)控制顯示的數(shù)量,當刷新到底部的邊界的時候會觸發(fā)無限滾動的事件,再次加載一定數(shù)量的條目。

還是拿在項目中的功能來舉栗子介紹。

有個列表,幾千條數(shù)據(jù),做分頁查詢,每次顯示查詢20條,每次拉到最后20條邊緣的時候,觸發(fā)無限滾動,這時候會出現(xiàn)加載圖標,繼續(xù)加載后續(xù)20條數(shù)據(jù),加載到最后的時候會提示數(shù)據(jù)“加載完畢”。

項目的ui使用的mint-ui,所以使用的無限滾動也是mint-ui里面的,詳細參考官方文檔

接下來給大家介紹代碼實現(xiàn):

1、為元素添加 v-infinite-scroll 指令即可使用無限滾動。滾動該元素,當其底部與被滾動元素底部的距離小于給定的閾值(通過 infinite-scroll-distance 設(shè)置)時,綁定到 v-infinite-scroll 指令的方法就會被觸發(fā)。

<!--ul里面幾個scoller就是無限滾動的幾個api-->
<ul class="mui-table-view" v-infinite-scroll="loadMore" infinite-scroll-disabled="moreLoading" infinite-scroll-distance="0" infinite-scroll-immediate-check="false">
 <!--li數(shù)據(jù)遍歷循環(huán)部分-->
 <li class="mui-table-view-cell" v-for="item in list">
 <a class="mui-navigate-right">
 <span class="mui-pull-left">{{item.name}}</span>
 <span class="mui-pull-right">{{item.date.substring(0,10)}}</span>
 </a>
 </li>
 <!--底部判斷是加載圖標還是提示“全部加載”-->
 <li class="more_loading" v-show="!queryLoading">
 <mt-spinner type="snake" color="#00ccff" :size="20" v-show="moreLoading&&!allLoaded"></mt-spinner>
 <span v-show="allLoaded">已全部加載</span>
 </li>
</ul>

2、script部分

<script>
 export default {
 data() {
 return {
 //初始化無限加載相關(guān)參數(shù)
 queryLoading: false,
 moreLoading: false,
 allLoaded: false,
 totalNum: 0,
 pageSize: 20,
 pageNum: 1,
 }
 },
 computed: {
 params() {
 return{
 //這里先定義要傳遞給后臺的數(shù)據(jù)
 //然后將每次請求20條的參數(shù)一起提交給后臺
 pageSize: this.pageSize
 }
 }
 },
 methods: {
 //無限加載函數(shù)
 loadMore() {
 if(this.allLoaded){
 this.moreLoading = true;
 return;
 }
 if(this.queryLoading){
 return;
 }
 this.moreLoading = !this.queryLoading;
 this.pageNum++;
 this.$http.post("請求后臺數(shù)據(jù)的接口",Object.assign({pageNum:this.pageNum},this.params)).then((res) => {
 if(res.sData && res.sData.list){
 this.list = this.list.concat(res.sData.list);
 this.allLoaded = this.debtList.length==this.totalNum;
 }
 this.moreLoading = this.allLoaded;
 });
 }
 },
 }
</script>

到這里就可以實現(xiàn)無限滾動了,這里結(jié)合了mint-ui的Infinite scroll和Spinner

Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號-2

違法及侵權(quán)請聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市萬商天勤律師事務(wù)所王興未律師提供法律服務(wù)