最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

記錄一個van-list不斷onLoad加載的坑及解決

 更新時間:2022年04月25日 14:19:54   作者:七八月的天空  
這篇文章主要介紹了記錄一個van-list不斷onLoad加載的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

van-list不斷onLoad加載的坑

van-list 下拉的時候,不斷請求后臺加載數(shù)據(jù),真的是坑。。。。

this.$http.post(url, params).then(function (res) {?
this.list = [];
if (res.data.data.length == 0) {
? ? that.finished = true
} else {
? ? that.list = [...that.list , ...res.data.data]
}
that.loading = false
?
? ? ? }).catch((reason) => {
? ? ? ? ?Toast.fail("查詢列表數(shù)據(jù)!" + reason);
? ? ? })

首先說下出現(xiàn)不斷加載的一種情況, 解決方法是設置:offset="20";

這是網(wǎng)上常說的,然而并沒有什么卵用。。。

我這里出現(xiàn)不斷加載的原因是

this.list = [];

坑爹,不能清空,清空之后就會判斷沒填滿空間,就會不斷加載。。。。

van-list列表下拉加載更多onLoad事件

van-list是瀑布流滾動加載,用于展示長列表,當列表即將滾動到底部時,會觸發(fā)事件并加載更多列表項。

引入

import Vue from 'vue';
import { List } from 'vant';
?
Vue.use(List);

頁面渲染

<van-list class="mylist"
? ? ?v-model="loading"
? ? ?:finished="finished"
? ? ?finished-text="沒有更多了"
? ? ?@load="onLoad" ?>
? ? ?<van-cell v-for="(item,index) in list" :key="index" class="mycell">
? ? ? ? {{item.name}}
? ? ?</van-cell>
</van-list>

數(shù)據(jù)定義

export default {
? data() {
? ? return {
? ? ? list: [],
? ? ? loading: false,
? ? ? finished: false,
? ? ? total: 0,
? ? ? // 查詢參數(shù)
? ? ? queryParams: {
? ? ? ? ? ?pageNum: 0,
? ? ? ? ? ?pageSize: 6,
? ? ? ? ? ?deptname: null,
? ? ? ? ? ?username: null,
? ? ? ? ? ?createTime: null,
? ? ? ? ? ?jigou: null,
? ? ? ?},
? ? ? ?defaultdept:null,
? ? ? ?keyWords:"",
? ? };
? },
}

方法實現(xiàn)

methods:{?
? ? ? ? async onLoad() {
? ? ? ? ? ? this.loading = true;//防止第一頁重復加載
? ? ? ? ? ? this.queryParams.jigou = this.defaultdept
? ? ? ? ? ? listWuzicount(this.queryParams).then(res => {
? ? ? ? ? ? ? ? this.total = res.total;
? ? ? ? ? ? ? ? if(this.total <= this.queryParams.pageSize){
? ? ? ? ? ? ? ? ? ? this.list= res.rows
? ? ? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? ? ? this.queryParams.pageNum++;
? ? ? ? ? ? ? ? ? ? let arr = res.rows;
? ? ? ? ? ? ? ? ? ? this.list= this.list.concat(arr);
? ? ? ? ? ? ? ? };
? ? ? ? ? ? ? ? // 加載狀態(tài)結(jié)束
? ? ? ? ? ? ? ? this.loading = false;
? ? ? ? ? ? ? ? // 數(shù)據(jù)全部加載完成
? ? ? ? ? ? ? ? if (this.list.length >= this.total) {
? ? ? ? ? ? ? ? ? ? this.finished = true;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? })
? ? ? ? },
},
watch:{
? ? ? ? defaultdept(val){
? ? ? ? ? ? this.queryParams.jigou = val
? ? ? ? ? ? this.list= []
? ? ? ? ? ? this.queryParams.pageNum = 1
? ? ? ? ? ? this.finished = false;
? ? ? ? ? ? this.onLoad();
? ? ? ? },
? ? ? ? keyWords(val){
? ? ? ? ? ? this.queryParams.deptname = val
? ? ? ? ? ? this.list= []
? ? ? ? ? ? this.queryParams.pageNum = 1
? ? ? ? ? ? this.finished = false;
? ? ? ? ? ? this.onLoad();
? ? ? ? },
? ? }

重點總結(jié)

this.queryParams.pageNum = 1
//每次走完函數(shù),將當前頁恢復至1,防止后面累加,導致點擊別的篩選條件時無效,返回finished-text
this.finished = false;
//同樣,也要將finished恢復,否則,執(zhí)行別的篩選條件時,會顯示finished-text,并且導致明明還有數(shù)據(jù),但是不會加載出來.

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • vue中內(nèi)網(wǎng)/局域網(wǎng)/離線的情況下使用及建立項目方式

    vue中內(nèi)網(wǎng)/局域網(wǎng)/離線的情況下使用及建立項目方式

    這篇文章主要介紹了vue中內(nèi)網(wǎng)/局域網(wǎng)/離線的情況下使用及建立項目方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 如何解決element-ui動態(tài)加載級聯(lián)選擇器默認選中問題

    如何解決element-ui動態(tài)加載級聯(lián)選擇器默認選中問題

    這篇文章主要介紹了如何解決element-ui動態(tài)加載級聯(lián)選擇器默認選中問題,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-09-09
  • vue3動態(tài)路由+菜單欄的實現(xiàn)示例

    vue3動態(tài)路由+菜單欄的實現(xiàn)示例

    在后臺管理系統(tǒng),可以根據(jù)登錄用戶的不同返回不同路由,頁面也會根據(jù)這些路由生成對應的菜單,本文主要介紹了vue3動態(tài)路由+菜單欄的實現(xiàn)示例,感興趣的可以了解一下
    2024-04-04
  • vue-router中 query傳參和params傳參的使用和區(qū)別講解

    vue-router中 query傳參和params傳參的使用和區(qū)別講解

    這篇文章主要介紹了vue-router中 query傳參和params傳參的使用和區(qū)別講解,本文結(jié)合示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • vue2.x數(shù)組劫持原理的實現(xiàn)

    vue2.x數(shù)組劫持原理的實現(xiàn)

    這篇文章主要介紹了vue2.x數(shù)組劫持原理的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • 詳解Vue-axios 設置請求頭問題

    詳解Vue-axios 設置請求頭問題

    這篇文章主要介紹了Vue-axios 設置請求頭問題,文中給大家提到了axios設置請求頭內(nèi)容的方法,需要的朋友可以參考下
    2018-12-12
  • Pinia簡單使用以及數(shù)據(jù)持久化詳解

    Pinia簡單使用以及數(shù)據(jù)持久化詳解

    最近正在使用Pinia進行狀態(tài)管理,我希望在重新刷新頁面時保持狀態(tài),下面這篇文章主要給大家介紹了關于Pinia簡單使用以及數(shù)據(jù)持久化的相關資料,需要的朋友可以參考下
    2022-05-05
  • vue中pc移動滾動穿透問題及解決

    vue中pc移動滾動穿透問題及解決

    這篇文章主要介紹了vue中pc移動滾動穿透問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Element?Plus修改表格行和單元格樣式詳解

    Element?Plus修改表格行和單元格樣式詳解

    在使用Element Plus中的table組件展示數(shù)據(jù)時,由于需要對表格行內(nèi)數(shù)據(jù)的數(shù)據(jù)進行修改,下面這篇文章主要給大家介紹了關于Element?Plus修改表格行和單元格樣式的相關資料,需要的朋友可以參考下
    2022-04-04
  • vue 實現(xiàn)數(shù)字滾動增加效果的實例代碼

    vue 實現(xiàn)數(shù)字滾動增加效果的實例代碼

    最近做了個項目需要做數(shù)字滾動增加的效果,剛開始接到這個項目還真是懵了,后來發(fā)現(xiàn)實現(xiàn)代碼很簡單的,下面小編給大家?guī)砹藇ue 實現(xiàn)數(shù)字滾動增加效果的實例代碼,需要的朋友參考下吧
    2018-07-07

最新評論

新龙县| 青神县| 志丹县| 富蕴县| 淮安市| 阜宁县| 砀山县| 德清县| 望奎县| 额尔古纳市| 雷州市| 太保市| 贵州省| 通许县| 汉中市| 商丘市| 石棉县| 巴林右旗| 樟树市| 伊金霍洛旗| 株洲市| 通城县| 肥城市| 晋城| 外汇| 花莲市| 龙口市| 共和县| 如东县| 岑巩县| 洪江市| 于田县| 永丰县| 黄平县| 大兴区| 敦煌市| 兖州市| 富宁县| 关岭| 巫溪县| 德惠市|