亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

記錄一個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)不斷加載的一種情況, 解決方法是設(shè)置: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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue-cli初始化項目中使用less的方法

    vue-cli初始化項目中使用less的方法

    vue-cli 是 vue.js 的腳手架工具,可以幫助我們編寫基礎(chǔ)代碼、快速搭建開發(fā)環(huán)境。下面這篇文章主要給大家介紹了關(guān)于vue-cli初始化項目中使用less的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來一起看看吧
    2018-08-08
  • vue組件父子間通信之綜合練習(聊天室)

    vue組件父子間通信之綜合練習(聊天室)

    這篇文章主要為大家詳細介紹了vue組件父子間通信之綜合練習聊天室制作,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • vue彈窗組件的實現(xiàn)示例代碼

    vue彈窗組件的實現(xiàn)示例代碼

    這篇文章主要介紹了vue彈窗組件的實現(xiàn)示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • 基于vue+face-api.js實現(xiàn)前端人臉識別功能

    基于vue+face-api.js實現(xiàn)前端人臉識別功能

    基于face-api.js要實現(xiàn)人臉識別功能,首先要將自己需要的模型文件下載保存在靜態(tài)目錄下,可以通過cdn的方式在index.html中引入face-api.js,本文給大家介紹vue+face-api.js實現(xiàn)前端人臉識別功能,感興趣的朋友一起看看吧
    2023-12-12
  • vue中的非父子間的通訊問題簡單的實例代碼

    vue中的非父子間的通訊問題簡單的實例代碼

    這篇文章主要介紹了vue中的非父子間的通訊問題簡單的實例代碼,需要的朋友可以參考下
    2017-07-07
  • 詳解使用vue-router進行頁面切換時滾動條位置與滾動監(jiān)聽事件

    詳解使用vue-router進行頁面切換時滾動條位置與滾動監(jiān)聽事件

    本篇文章主要介紹了詳解使用vue-router進行頁面切換時滾動條位置與滾動監(jiān)聽事件,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • Vue3?中?watch?與?watchEffect?區(qū)別及用法小結(jié)

    Vue3?中?watch?與?watchEffect?區(qū)別及用法小結(jié)

    這篇文章主要介紹了Vue3?中?watch?與?watchEffect?有什么區(qū)別?watch中需要指明監(jiān)視的屬性,也需要指明監(jiān)視的回調(diào),而watchEffect中不需要指明監(jiān)視的屬性,只需要指明監(jiān)視的回調(diào),回調(diào)函數(shù)中用到哪個屬性,就監(jiān)視哪個屬性,本文給大家詳細介紹,需要的朋友參考下
    2022-06-06
  • vue cli 3.0通用打包配置代碼,不分一二級目錄

    vue cli 3.0通用打包配置代碼,不分一二級目錄

    這篇文章主要介紹了vue cli 3.0通用打包配置代碼,不分一二級目錄,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 解決vue-router進行build無法正常顯示路由頁面的問題

    解決vue-router進行build無法正常顯示路由頁面的問題

    下面小編就為大家分享一篇解決vue-router進行build無法正常顯示路由頁面的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • vue使用monaco?editor漢化右鍵菜單示例

    vue使用monaco?editor漢化右鍵菜單示例

    這篇文章主要為大家介紹了vue使用?monaco?editor?漢化右鍵菜單實現(xiàn)漢化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08

最新評論