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

解決vant框架做H5時(shí)踩過的坑(下拉刷新、上拉加載等)

 更新時(shí)間:2020年11月11日 09:53:45   作者:zlinger1  
這篇文章主要介紹了解決vant框架做H5時(shí)踩過的坑(下拉刷新、上拉加載等),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

1. 頁(yè)面在手機(jī)端不能上下滑動(dòng),在PC端瀏覽器正?;瑒?dòng)

說明:在設(shè)置了overflow:auto;屬性的前提下,H5頁(yè)面在PC端瀏覽器里展示可以上下滑動(dòng),在ios上可正?;瑒?dòng),在安卓手機(jī) 上不能上下滑動(dòng);這現(xiàn)象并不是ios和安卓兼容性問題!

原因:設(shè)置了touch-action: none;這屬性為局部或者全局屬性,將這條屬性注釋即可正?;瑒?dòng)。

2.使用PullRefresh和List列表實(shí)現(xiàn)下拉刷新和上拉加載時(shí)出現(xiàn)的問題

問題1. 下拉刷新時(shí)在手機(jī)上,不論滑到任何位置,只要下拉就刷新

原因:滑動(dòng)的區(qū)間設(shè)置錯(cuò)了,此時(shí)滑動(dòng)的區(qū)間應(yīng)是此組件的父盒子,我將overflow:scroll設(shè)置給了最外層盒子

問題2. 上拉加載時(shí)展示的列表始終只包含當(dāng)前某一頁(yè),而不是當(dāng)前頁(yè)和加載出的那一頁(yè)

原因:請(qǐng)求接口的參數(shù)不應(yīng)該是current++,也就是不應(yīng)該是當(dāng)前頁(yè)數(shù)+1,而是始終保持當(dāng)前頁(yè)數(shù),請(qǐng)求的size=current*size

問題3. 下拉時(shí),當(dāng)數(shù)據(jù)很少的情況下,頁(yè)面的最下面部分被遮住

原因:給van-list設(shè)置了height,且height: 80%,van-list必須設(shè)置高,否則無法滑動(dòng)

解決辦法:設(shè)置最小高:min-height: calc(100vh - 100px); overflow: hidden;

問題4.上拉加載時(shí)出現(xiàn)重復(fù)加載問題

van-list的屬性finished觸發(fā)時(shí)間錯(cuò)誤,如果直接放在@load方法中,則會(huì)出現(xiàn)一直請(qǐng)求加載

解決辦法:將finished=true放在請(qǐng)求接口返回?cái)?shù)據(jù)的方法里,當(dāng)當(dāng)前頁(yè)面數(shù)據(jù)大于等于返回的總條數(shù),finished=true,顯示加載完成,不再觸發(fā)load加載事件。

注:附上下拉刷新、上拉加載部分的代碼

<template>
<van-pull-refresh v-model="isLoading" :head-height="20" @refresh="onRefresh">
  <van-list
  v-model="loading"
  :finished="finished"
  :offset="1"
  :immediate-check="false"
  :error.sync="error"
  finished-text="已全部加載完成"
  error-text="請(qǐng)求失敗,點(diǎn)擊重新加載"
  @load="onLoadList"
  >
  </van-list>
</van-pull-refresh>
</template>
<script>
data(){
 return {
 isLoading: false,
 finished: false,
 loading: false,
 }
},
methods:{
 getVideoList() {
  getVideoList(this.current, this.selectDisposeStatus,  this.searchValue).then(resp => {
  this.videoList = resp.data.records
  this.isVideoList = false
  if (this.videoList.length >= resp.data.total) {
   this.finished = true
  }
  }).catch(() => {
  this.error = true
  })
 },
 onRefresh() {
  this.current = 1
  this.getVideoList()
  this.isLoading = false
  this.$toast('刷新成功')
 },
 onLoadList() {
  this.current++
  this.loading = false
  this.getVideoList()
  this.$toast('加載成功')
 },
} 
</script>

補(bǔ)充知識(shí):Vant與Element-ui出現(xiàn)Property '$notify' must be of type 'ElNotification'錯(cuò)誤

遇到問題:

ERROR in /Users/oyo/projects/dataplatform/coconut/node_modules/vant/types/notify.d.ts 33:5 Subsequent property declarations must have the same type. Property ‘$notify' must be of type ‘ElNotification', but here has type ‘Notify'.

原因是兩個(gè)組件庫(kù)都在應(yīng)用上添加了 $notify 方法;

解決方法是:只安裝一個(gè)組件庫(kù), 另一個(gè)組件庫(kù)按需引入

報(bào)錯(cuò)示例:

npm install vant element-ui

vant 和 element-ui 都有 $notify 方法, 會(huì)報(bào)錯(cuò)

import Vue from 'vue';
import Vant from 'vant';
import 'vant/lib/index.css';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(Vant);
Vue.use(ElementUI);

解決方案:

import Vue from 'vue';
import Vant from 'vant';
import 'vant/lib/index.css';

// 按需引入你用到的組件, 而不是安裝整個(gè)組件庫(kù)
import ElButton from 'element-ui/lib/button';
import 'element-ui/lib/theme-chalk/button.css';

Vue.use(Vant);
Vue.component('el-button', ElButton);
tsconfig.json
{
 "compilerOptions": {
 "paths": {
  // 指向正確的聲明映射
  "element-ui/lib/button": ["node_modules/element-ui/types/button"]
 }
 }
}

以上這篇解決vant框架做H5時(shí)踩過的坑(下拉刷新、上拉加載等)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue+Vant實(shí)現(xiàn)頂部搜索欄

    Vue+Vant實(shí)現(xiàn)頂部搜索欄

    這篇文章主要為大家詳細(xì)介紹了Vue+Vant實(shí)現(xiàn)頂部搜索欄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • vue2使用wangeditor實(shí)現(xiàn)手寫輸入功能

    vue2使用wangeditor實(shí)現(xiàn)手寫輸入功能

    這篇文章主要為大家詳細(xì)介紹了vue2如何使用wangeditor實(shí)現(xiàn)手寫輸入功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解下
    2023-12-12
  • Vue3使用Echarts導(dǎo)致tooltip失效問題及解決方法

    Vue3使用Echarts導(dǎo)致tooltip失效問題及解決方法

    Vue3 使用 proxy 對(duì)象代理,而 echarts 則使用了大量的全等(===), 對(duì)比失敗從而導(dǎo)致了bug,這篇文章主要介紹了Vue3使用Echarts導(dǎo)致tooltip失效問題及解決方法,需要的朋友可以參考下
    2023-08-08
  • vue圖片轉(zhuǎn)base64格式的方法示例

    vue圖片轉(zhuǎn)base64格式的方法示例

    對(duì)于前后端分離的項(xiàng)目,為了統(tǒng)一響應(yīng)參數(shù),需要將圖片轉(zhuǎn)換成base64的格式,下面這篇文章主要給大家介紹了關(guān)于vue圖片轉(zhuǎn)base64格式的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • Vue前端左側(cè)菜單右側(cè)內(nèi)容的網(wǎng)站界面制作過程

    Vue前端左側(cè)菜單右側(cè)內(nèi)容的網(wǎng)站界面制作過程

    這篇文章主要介紹了使用Vue和ElementUI制作一個(gè)帶有左側(cè)菜單和右側(cè)內(nèi)容區(qū)的網(wǎng)站頁(yè)面的過程,文中通過CSS樣式和深度作用符,實(shí)現(xiàn)了頁(yè)面的美化和功能的完善,需要的朋友可以參考下
    2025-02-02
  • 使用Vue3和Pinia實(shí)現(xiàn)網(wǎng)頁(yè)刷新功能

    使用Vue3和Pinia實(shí)現(xiàn)網(wǎng)頁(yè)刷新功能

    在現(xiàn)代 Web 開發(fā)中,保持用戶界面的動(dòng)態(tài)性和響應(yīng)性至關(guān)重要,當(dāng)用戶觸發(fā)某些操作時(shí),例如點(diǎn)擊按鈕或者完成表單提交,我們往往需要刷新頁(yè)面的一部分來展示最新的數(shù)據(jù),本文將介紹如何使用 Vue 3 和 Pinia 來實(shí)現(xiàn)這一功能,需要的朋友可以參考下
    2024-08-08
  • 如何區(qū)分vue中的v-show 與 v-if

    如何區(qū)分vue中的v-show 與 v-if

    這篇文章主要介紹了如何區(qū)分vue中的v-show 與 v-if ,幫助大家更好的理解和學(xué)習(xí)vue框架,感興趣的朋友可以了解下
    2020-09-09
  • Vue中l(wèi)ocalStorage那些你不知道的知識(shí)分享

    Vue中l(wèi)ocalStorage那些你不知道的知識(shí)分享

    在Vue.js中,?Vuex是一個(gè)強(qiáng)大的狀態(tài)管理工具,而localStorage則是一種用于存儲(chǔ)和獲取本地?cái)?shù)據(jù)的機(jī)制,雖然這兩個(gè)東西都可以用來存儲(chǔ)數(shù)據(jù),但它們之間還是有很大的區(qū)別,本文就來簡(jiǎn)單說說吧
    2023-05-05
  • vue如何引入sass全局變量

    vue如何引入sass全局變量

    sass或者less都提供變量設(shè)置,在需求切換主題的項(xiàng)目中使用less或者sass變量,這篇文章主要介紹了vue引入sass全局變量,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • vue中的select綁定多個(gè)值

    vue中的select綁定多個(gè)值

    這篇文章主要介紹了vue中的select綁定多個(gè)值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09

最新評(píng)論

焉耆| 阜平县| 昌宁县| 郧西县| 崇文区| 斗六市| 昌吉市| 滨海县| 莱芜市| 铜陵市| 泸定县| 拉萨市| 封开县| 凤凰县| 凤山县| 灵川县| 自治县| 田林县| 信丰县| 连云港市| 盐城市| 咸宁市| 湘阴县| 浑源县| 界首市| 永胜县| 平度市| 五大连池市| 阿克| 利辛县| 阿尔山市| 柯坪县| 宁河县| 延庆县| 革吉县| 甘南县| 凯里市| 怀集县| 连江县| 景宁| 曲沃县|