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

淺談Vant-list?上拉加載及下拉刷新的問題

 更新時間:2022年04月25日 15:02:17   作者:我去沒名字了  
這篇文章主要介紹了淺談Vant-list?上拉加載及下拉刷新的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Vant-list 上拉加載及下拉刷新

第一步引入

import { Notify, Dialog, Image, List, PullRefresh } from 'vant'
import Vue from 'vue'
Vue.use(Image).use(List).use(PullRefresh)

第二步

<van-pull-refresh v-model="refreshing" @refresh="onRefresh">
? ? ? <van-list v-model="loading" :finished="finished" finished-text="沒有更多了" @load="onLoad">
? ? ? ?? ?<!-- 這里根據(jù)自己需要展示數(shù)據(jù) -->
? ? ? ?</van-list>
? ? </van-pull-refresh>

第三步

?data () {
? ? return {
? ? ? productList: [], //異步查詢數(shù)據(jù)
? ? ? loading: false, //自定義底部加載中提示
? ? ? finished: false,//自定義加載完成后的提示文案
? ? ? refreshing: false,//清空列表數(shù)據(jù)
? ? ? pageNo: 0 //當(dāng)前頁碼
? ? }
? }

第四步

? methods: {
? ? onLoad () {
? ? ? this.pageNo++
? ? ? setTimeout(() => {
? ? ? ? if (this.refreshing) {
? ? ? ? ? this.productList = []
? ? ? ? ? this.refreshing = false
? ? ? ? }
? ? ? ? this.loading = false
? ? ? ? const shopId = this.$store.state.user.shopId
? ? ? ? //這里是ajax請求 ?根據(jù)自己業(yè)務(wù)需求
? ? ? ? pageList({ shopId: shopId, pageNo: this.pageNo, pageSize: 2 }).then(res => {
? ? ? ? ? if (this.validResp(res)) {
? ? ? ? ? ? this.total = res.data.pageNo
? ? ? ? ? ? this.loading = true
? ? ? ? ? ? this.productList.push(...res.data.dataList)
? ? ? ? ? }
? ? ? ? ? if (this.productList.length >= parseInt(res.data.pageNo)) {
? ? ? ? ? ? this.finished = true
? ? ? ? ? }
? ? ? ? })
? ? ? }, 1000)
? ? },
? ? onRefresh () {
? ? ? this.finished = false
? ? ? this.loading = true
? ? ? this.pageNo = 0
? ? ? this.onLoad()
? ? }
? ? }

vant下拉刷新與上拉加載一起使用問題

下拉刷新觸發(fā)兩次 list與pull

//下拉刷新
 onRefresh() {
                this.list = [];
                this.curPage = 1;
                this.finished = true;
                this.getData();
  },
getData() {
                this.isLoading = false;
                getList({
                    curPage: this.curPage,
                    pageSize: this.pageSize
                }).then((res) => {
 
                    this.listLoading = false;
 
                    if (res.code == 200) {
                        this.list = this.list.concat(res.data.list);
                        this.curPage = res.data.nextPage;
                        if (this.list.length >= res.data.total) {
                            this.finished = true;
                        }else {
                            this.finished = false;
                        }
                    }
                })
            },

原因是在于下拉刷新的時候觸發(fā)了上拉加載,所以執(zhí)行了兩次

解決方法是

先將list組價的finished=true,數(shù)據(jù)加載完了在判斷該值應(yīng)該是true還是false,這樣可以避免在下拉刷新的時候觸發(fā)上拉加載。

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

相關(guān)文章

  • vue實(shí)現(xiàn)GitHub的第三方授權(quán)方法示例

    vue實(shí)現(xiàn)GitHub的第三方授權(quán)方法示例

    本文主要介紹了vue實(shí)現(xiàn)GitHub的第三方授權(quán),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Vue3+ElementPlus封裝圖片空間組件的門面實(shí)例

    Vue3+ElementPlus封裝圖片空間組件的門面實(shí)例

    圖片空間是用于管理上傳圖片的工具,可以讓用戶方便地存儲、管理和調(diào)用圖片,提高工作效率,它通常具備多樣的樣式,但操作入口統(tǒng)一,便于使用,通過圖片空間組件,用戶能直接在其他模塊(例如商品圖片)中選擇所需圖片
    2024-09-09
  • vue 基于abstract 路由模式 實(shí)現(xiàn)頁面內(nèi)嵌的示例代碼

    vue 基于abstract 路由模式 實(shí)現(xiàn)頁面內(nèi)嵌的示例代碼

    這篇文章主要介紹了vue 基于abstract 路由模式 實(shí)現(xiàn)頁面內(nèi)嵌的示例代碼,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-12-12
  • Vue中動態(tài)權(quán)限到按鈕的完整實(shí)現(xiàn)方案詳解

    Vue中動態(tài)權(quán)限到按鈕的完整實(shí)現(xiàn)方案詳解

    這篇文章主要為大家詳細(xì)介紹了Vue如何在現(xiàn)有方案的基礎(chǔ)上加入對路由的增、刪、改、查權(quán)限控制,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-03-03
  • Vue3中emits與attrs的區(qū)別分析

    Vue3中emits與attrs的區(qū)別分析

    這篇文章主要給大家介紹了關(guān)于Vue3中emits與attrs區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2021-10-10
  • Vue3中同時定義多個插槽的實(shí)現(xiàn)示例

    Vue3中同時定義多個插槽的實(shí)現(xiàn)示例

    本文主要介紹了Vue3中同時定義多個插槽的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-12-12
  • vue3.2自定義彈窗組件結(jié)合函數(shù)式調(diào)用示例詳解

    vue3.2自定義彈窗組件結(jié)合函數(shù)式調(diào)用示例詳解

    這篇文章主要為大家介紹了vue3.2自定義彈窗組件結(jié)合函數(shù)式調(diào)用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Vue路由模塊化配置的完整步驟

    Vue路由模塊化配置的完整步驟

    這篇文章主要給大家介紹了關(guān)于Vue路由模塊化配置的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Vue具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 深入理解Vue 組件之間傳值

    深入理解Vue 組件之間傳值

    這篇文章較詳細(xì)的給大家介紹了vue組件之間傳值的方法,在 Vue 中,可以使用props向子組件傳遞數(shù)據(jù)。具體傳遞方法大家跟隨腳本之家小編一起看看吧
    2018-08-08
  • vue如何通過$router.push傳參數(shù)

    vue如何通過$router.push傳參數(shù)

    這篇文章主要介紹了vue如何通過$router.push傳參數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06

最新評論

大庆市| 神农架林区| 富蕴县| 合肥市| 福海县| 永靖县| 班玛县| 资源县| 平南县| 城口县| 乌兰浩特市| 西华县| 册亨县| 松阳县| 兴宁市| 禄丰县| 木兰县| 平南县| 宣武区| 清流县| 织金县| 定襄县| 舞钢市| 开封县| 雷山县| 滁州市| 鹤山市| 当雄县| 健康| 通化市| 柘城县| 井研县| 华容县| 顺平县| 泉州市| 博兴县| 山丹县| 寻甸| 锡林郭勒盟| 衡阳市| 怀化市|