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

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

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

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

說明:在設(shè)置了overflow:auto;屬性的前提下,H5頁面在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)前某一頁,而不是當(dāng)前頁和加載出的那一頁

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

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

原因:給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方法中,則會出現(xiàn)一直請求加載

解決辦法:將finished=true放在請求接口返回?cái)?shù)據(jù)的方法里,當(dāng)當(dāng)前頁面數(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="請求失敗,點(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ǔ)充知識: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è)組件庫都在應(yīng)用上添加了 $notify 方法;

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

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

npm install vant element-ui

vant 和 element-ui 都有 $notify 方法, 會報(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è)組件庫
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í)踩過的坑(下拉刷新、上拉加載等)就是小編分享給大家的全部內(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 對象代理,而 echarts 則使用了大量的全等(===), 對比失敗從而導(dǎo)致了bug,這篇文章主要介紹了Vue3使用Echarts導(dǎo)致tooltip失效問題及解決方法,需要的朋友可以參考下
    2023-08-08
  • vue圖片轉(zhuǎn)base64格式的方法示例

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

    對于前后端分離的項(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)站頁面的過程,文中通過CSS樣式和深度作用符,實(shí)現(xiàn)了頁面的美化和功能的完善,需要的朋友可以參考下
    2025-02-02
  • 使用Vue3和Pinia實(shí)現(xiàn)網(wǎng)頁刷新功能

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

    在現(xiàn)代 Web 開發(fā)中,保持用戶界面的動(dòng)態(tài)性和響應(yīng)性至關(guān)重要,當(dāng)用戶觸發(fā)某些操作時(shí),例如點(diǎn)擊按鈕或者完成表單提交,我們往往需要刷新頁面的一部分來展示最新的數(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那些你不知道的知識分享

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

    在Vue.js中,?Vuex是一個(gè)強(qiáng)大的狀態(tài)管理工具,而localStorage則是一種用于存儲和獲取本地?cái)?shù)據(jù)的機(jī)制,雖然這兩個(gè)東西都可以用來存儲數(shù)據(jù),但它們之間還是有很大的區(qū)別,本文就來簡單說說吧
    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à)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09

最新評論

新民市| 凤冈县| 乐安县| 闽清县| 故城县| 偃师市| 思南县| 革吉县| 宁安市| 镇平县| 巴东县| 郁南县| 永康市| 吉林省| 昭苏县| 水城县| 莆田市| 精河县| 桓仁| 惠来县| 芜湖县| 葫芦岛市| 永吉县| 肃宁县| 谷城县| 通山县| 奉贤区| 临夏县| 建湖县| 宜昌市| 房产| 肇源县| 泗水县| 广丰县| 内乡县| 博乐市| 文安县| 武陟县| 阿拉尔市| 清流县| 安多县|