欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue3+vant+ts 上滑加載解決上滑調(diào)用多次數(shù)據(jù)的問題(推薦)

 更新時間:2022年12月28日 14:24:43   作者:西貝小小鳳  
這篇文章主要介紹了Vue3+vant+ts 上滑加載解決上滑調(diào)用多次數(shù)據(jù)的問題,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

之前用vue2的時候,寫過vue2的用法,文末擴(kuò)展知識點擊查看,用得挺好的,也沒啥問題,照葫蘆畫瓢的做出來了,但是有問題,下滑之后調(diào)用多次數(shù)據(jù),按理說

組件通過 loading 和 finished 這倆變量控制加載狀態(tài),當(dāng)組件滾動到底部時,會觸發(fā) load 事件并將 loading 設(shè)置成 true。此時可以發(fā)起異步操作并更新數(shù)據(jù),數(shù)據(jù)更新完畢后,將 loading 設(shè)置成 false 即可。若數(shù)據(jù)已全部加載完畢,則直接將 finished 設(shè)置成 true 即可。

但是我打印了一下,在調(diào)用方法的時候沒有把loading設(shè)置為true,還是false,后來才發(fā)現(xiàn),和vue2還是有區(qū)別的,不能直接用v-model,得用v-model:loading,還是得看手冊啊,不能老看之前做的項目

具體代碼如下:

頁面:<van-list
            v-model:loading="loading"    
            :finished="finished"    
            :finished-text="nodata"    
            :immediate-check="false"      
            @load="getList"    
            >

        <div?
? ? ? ? ? ? ? ? v-for="item in proList"
? ? ? ? ? ? ? ? :key="item.Id"
? ? ? ? ? ? ? ? >
        </div>

 </van-list>

<script lang="ts" setup>
onMounted(() => {
? ? getList();
})
const loading = ref(false);
const finished = ref(false);
const state = reactive<any>({?
? ? ? proList: [], //產(chǎn)品列表數(shù)據(jù)?
? ? ? nodata: "",?
? ? ? page: 1, //頁碼
? ? ? pageSize: 20, //每頁條數(shù)
})
?
?//獲取數(shù)據(jù)
const getList = ()=>{
? ??
? ? let params = {
? ? ? ? pageNo:state.page,
? ? ? ? pageSize:state.pageSize
? ? };
? ? axios.getdata(params).then((res:any) => {
? ? ? ? if (res.code == 200) {
            state.page ++;? ?//頁數(shù)+1

            loading.value = false;? // 加載狀態(tài)結(jié)束
? ? ? ? ? ? ? ? ? ? state.proList = state.proList.concat(res.data);
? ? ? ? ? ? ? ? ? ? //判斷是否是最后一頁
? ? ? ? ? ? ? ? ? ? if (res.data.length < state.pageSize) {
? ? ? ? ? ? ? ? ? ? ? ? finished.value = true ;
? ? ? ? ? ? ? ? ? ? ? ? state.nodata = "已經(jīng)到底了";
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? if (state.proList.length == 0) {
? ? ? ? ? ? ? ? ? ? ? ? finished.value = true;
? ? ? ? ? ? ? ? ? ? ? ? state.nodata = "暫無數(shù)據(jù)";
? ? ? ? ? ? ? ? ? ? }?

? ? ? ? ? }
? ? })
}?
</script>

擴(kuò)展知識點:

Vue插件—vant當(dāng)中van-list的使用

先看官網(wǎng)  點這里

1、安裝

npm i vant -S

2、引入 在src/main.js里面引入 

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

3、使用  teamplate

//van-list  是必須帶的標(biāo)簽,里面的標(biāo)簽可以自己加
  <van-list
        v-model="loading"
        :finished="finished"
        finished-text="沒有更多啦"
        @load="load_more"
        class="publist"
      >
         <li v-for="(item,ing) of list" :key="ing">{{item.name}}</li>
       
      </van-list>

script

export default {
  name: 'Home',
  data(){
    return{
      list: [],
      loading: false,//加載狀態(tài)
      finished: false,//是否加載
      page: 1,//頁數(shù)
    limit: 15//條數(shù)
    }
  },
 methods:{
    load_more: function() {
      this.page += 1;//頁數(shù)+1
      this.onLoad();
    },
    onLoad() {
        let data = {
        page: this.page,
        pageSize: this.limit
        }
        axios.post('api/test/xbxxf',data)
        .then(res => {
          if(res.data.code=200){   
            // 加載狀態(tài)結(jié)束
            this.loading = false;
            this.list = this.list.concat(res.data.data.list);//追加數(shù)據(jù)
            if (res.data.data.page == res.data.data.pageNum || res.data.data.list.length == 0) {  //數(shù)據(jù)全部加載完成
              this.finished = true;
            }else{
              this.finished = false;
            }        
          }  
        })
      }
}
}

另外注意css,因為滑動加載,看你滑動的是不是當(dāng)前模塊,如果滑動的不是當(dāng)前的模塊,是父元素或者其他的元素,不會觸發(fā)加載事件,也不會請求數(shù)據(jù)    

到此這篇關(guān)于Vue3+vant+ts 上滑加載解決上滑調(diào)用多次數(shù)據(jù)的問題的文章就介紹到這了,更多相關(guān)Vue3 vant ts 上滑加載內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue創(chuàng)建淺層響應(yīng)式數(shù)據(jù)的實例詳解

    Vue創(chuàng)建淺層響應(yīng)式數(shù)據(jù)的實例詳解

    這篇文章主要介紹了Vue創(chuàng)建淺層響應(yīng)式數(shù)據(jù)的實例,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-11-11
  • vue 行為驗證碼之滑動驗證AJ-Captcha使用詳解

    vue 行為驗證碼之滑動驗證AJ-Captcha使用詳解

    這篇文章主要介紹了vue 行為驗證碼之滑動驗證AJ-Captcha使用詳解,AJ-Captcha不需要npm安裝,只需要將組件 verifition復(fù)制到所使用的components目錄下,本文給大家詳細(xì)講解,需要的朋友可以參考下
    2023-05-05
  • Vue 理解之白話 getter/setter詳解

    Vue 理解之白話 getter/setter詳解

    這篇文章主要介紹了Vue getter setter,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 詳解Vue SPA項目優(yōu)化小記

    詳解Vue SPA項目優(yōu)化小記

    這篇文章主要介紹了詳解Vue SPA項目優(yōu)化小記,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • 詳解基于iview-ui的導(dǎo)航欄路徑(面包屑)配置

    詳解基于iview-ui的導(dǎo)航欄路徑(面包屑)配置

    這篇文章主要介紹了詳解基于iview-ui的導(dǎo)航欄路徑(面包屑)配置,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • vue3中addEventListener的用法詳解

    vue3中addEventListener的用法詳解

    vue3中定義全局指令時,往往會碰到一個問題:事件無法解綁,為什么會這樣,因為通常在指令的mounted鉤子中綁定事件,事件處理函數(shù)也定義在mounted中,本文講給大家講講vue3中addEventListener的妙用,需要的朋友可以參考下
    2023-08-08
  • Vue項目中對index.html中BASE_URL的配置方式

    Vue項目中對index.html中BASE_URL的配置方式

    這篇文章主要介紹了Vue項目中對index.html中BASE_URL的配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Vue 嵌套路由使用總結(jié)(推薦)

    Vue 嵌套路由使用總結(jié)(推薦)

    這篇文章主要介紹了Vue 嵌套路由使用總結(jié),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • vue+express+jwt持久化登錄的方法

    vue+express+jwt持久化登錄的方法

    這篇文章主要介紹了vue+express+jwt持久化登錄的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 使用vue3實現(xiàn)簡單的滑塊組件

    使用vue3實現(xiàn)簡單的滑塊組件

    這篇文章主要給大家介紹一下如何使用vue3實現(xiàn)簡單的滑塊組件,文中有詳細(xì)的代碼示例講解,具有一定的參考價值,感興趣的小伙伴跟著小編一起來看看吧
    2023-08-08

最新評論