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

Vue移動(dòng)端下拉刷新組件的使用教程

 更新時(shí)間:2023年04月17日 08:59:07   作者:不可名狀邵雅虎  
這篇文章主要介紹了Vue移動(dòng)端下拉刷新組件的使用教程,每一次我在使用vant組件庫(kù)里面list組件和下拉刷新連在一起用的時(shí)候都會(huì)出現(xiàn)下拉刷新和列表下滑局部滾動(dòng)的沖突,這就很難受,這篇文章將解決它

學(xué)習(xí)關(guān)鍵語(yǔ)句:

vant list組件和下拉刷新

vant 下拉刷新和局部滾動(dòng)沖突

寫(xiě)在前面

每一次 ! 我是說(shuō)每一次我在使用 vant 組件庫(kù)里面 list組件和下拉刷新連在一起用的時(shí)候

都會(huì)出現(xiàn)下拉刷新和列表下滑局部滾動(dòng)的沖突 !

這讓我很 ! 難 ! 受 !

這篇文章提供 來(lái)自于瀏覽精彩的互聯(lián)網(wǎng)并通過(guò)我實(shí)際使用得來(lái)的體驗(yàn) 給出 2 個(gè)解決方法 , 雖然說(shuō)我還看到有人給的解決方法是 overflow 加給父級(jí) , 我就覺(jué)得挺迷的 , 不曉得是怎么一回事

開(kāi)始

第一種方法應(yīng)該是很方便的一種了 , 就是修改源碼樣式了 , 你可以將以下代碼加入到你的 css 中 , 注意 , 如果你使用的是局部 css , 請(qǐng)使用穿透或者新開(kāi)一個(gè)全局 style

.van-pull-refresh {
    height: calc(100vh - 100px) !important; // 此處的 100px 需要根據(jù)你的實(shí)際情況來(lái)處理 , 是頁(yè)面中不包含列表的高度部分
    overflow: auto !important;
}

但是有時(shí)候會(huì)出現(xiàn)第一種方法不起作用的情況 , 遇到這種情況 , 我也只能推薦你使用原生方法 scroll 來(lái)判斷是否需要進(jìn)行下拉刷新了

第二種就是即時(shí)判斷是否需要下拉刷新了

這種方法的原理就是 當(dāng)列表的 scrollTop 為 0 時(shí) , 說(shuō)明列表已經(jīng)到頂了 , 到頂了還往下拉說(shuō)明你就是想要刷新列表 , 如果 scrollTop 不等于 0 那就是列表向下滑動(dòng)而已

我們看下使用組件時(shí)需要的屬性

<van-pull-refresh
  	v-model="refreshing"	// 表示是否在刷新 , 下拉時(shí)自動(dòng)變?yōu)?true ,需要在請(qǐng)求數(shù)據(jù)結(jié)束后手動(dòng)設(shè)置為 false
  	@refresh="onRefresh"	// 下拉刷新觸發(fā)的方法 , 將分頁(yè)變?yōu)?1 然后請(qǐng)求數(shù)據(jù)
  	:disabled="pullRefreshDisabled"	// 是否禁用下拉刷新的方法 , 禁用后將無(wú)法下拉刷新 , 通過(guò)列表滾動(dòng)高度來(lái)控制這個(gè)值
>
	<van-list
		 v-model:loading="loading"	// 是否處于加載狀態(tài) , 列表滑到最底處時(shí)自動(dòng)變成 true , 變?yōu)?true 時(shí)不會(huì)觸發(fā) load 事件方法
		 :finished="finished"	// 是否已經(jīng)加載完成
		 finished-text="沒(méi)有更多了" 
		 @load="onLoad" // 加載新數(shù)據(jù)的方法 , 移動(dòng)端一般傳入新的頁(yè)數(shù)將新數(shù)據(jù)數(shù)組添加到原有數(shù)據(jù)數(shù)組之后
		 @scroll="divScroll"	// 滾動(dòng)時(shí)觸發(fā)的事件 , 來(lái)判斷當(dāng)前滾動(dòng)的高度是多少
	>
		<div v-for="(item, index) in data" :key="index">
			{{ item }}
		</div>
	</van-list>
</van-pull-refresh>

如果都看了上面的注釋 , 那么其實(shí)也很簡(jiǎn)單了 , 我們?cè)?divScroll 方法中實(shí)時(shí)監(jiān)控滾動(dòng)的高度 , 當(dāng)滾動(dòng)的高度 == 0 的時(shí)候 , 就給下拉刷新組件可以下拉刷新的功能

const pullRefreshDisabled = ref(false)
const divScroll = (e: any) => {
    if (e.target.scrollTop == 0) {
        pullRefreshDisabled.value = false
    } else {
        pullRefreshDisabled.value = true
    }
}

用了這么長(zhǎng)時(shí)間 , 我越發(fā)覺(jué)得一個(gè) any 走天下了

初始值設(shè)置為 false 是為了一開(kāi)始就能下拉刷新 , 千萬(wàn)別搞混 , 這個(gè) pullRefreshDisabled 為 true 時(shí)是不能下拉刷新 , 為 false 時(shí)是可以下拉刷新

結(jié)束

emmm我以前挺抗拒使用判斷滾動(dòng)來(lái)寫(xiě)這個(gè) , 但是當(dāng)我真的寫(xiě)了之后 , 我直呼 真香 !

到此這篇關(guān)于Vue移動(dòng)端下拉刷新組件的使用教程的文章就介紹到這了,更多相關(guān)Vue下拉刷新組件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SSM VUE Axios詳解

    SSM VUE Axios詳解

    Axios是在前端開(kāi)發(fā)中常用的一個(gè)發(fā)送 HTTP 請(qǐng)求的庫(kù),用過(guò)的都知道,篇文章主要給大家介紹了關(guān)于vue的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • iview給radio按鈕組件加點(diǎn)擊事件的實(shí)例

    iview給radio按鈕組件加點(diǎn)擊事件的實(shí)例

    下面小編就為大家?guī)?lái)一篇iview給radio按鈕組件加點(diǎn)擊事件的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • vue element項(xiàng)目引入icon圖標(biāo)的方法

    vue element項(xiàng)目引入icon圖標(biāo)的方法

    這篇文章主要介紹了vue element項(xiàng)目引入icon圖標(biāo)的方法,本文圖文并茂給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2018-06-06
  • Vue項(xiàng)目配置@別名全過(guò)程

    Vue項(xiàng)目配置@別名全過(guò)程

    這篇文章主要介紹了Vue項(xiàng)目配置@別名全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 使用Vue自定義指令實(shí)現(xiàn)Select組件

    使用Vue自定義指令實(shí)現(xiàn)Select組件

    這篇文章主要介紹了使用Vue自定義指令實(shí)現(xiàn)Select組件,如果哪位朋友對(duì)vue自定義指令不是多了解的話,此篇文章會(huì)對(duì)你有所幫助的,需要的朋友可以參考下
    2018-05-05
  • Vue文件下載進(jìn)度條的實(shí)現(xiàn)過(guò)程

    Vue文件下載進(jìn)度條的實(shí)現(xiàn)過(guò)程

    這篇文章主要介紹了Vue文件下載進(jìn)度條的實(shí)現(xiàn)原理,通過(guò)使用onDownloadProgress方法API獲取進(jìn)度及文件大小等數(shù)據(jù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • vuex中mapActions的概念及基本用法

    vuex中mapActions的概念及基本用法

    mapActions 就是將組件中的函數(shù)映射為對(duì)應(yīng)的action,通過(guò)本文我們了解了mapActions 大概是用來(lái)干什么的,接下來(lái)介紹一下 mapActions 的具體用法,感興趣的朋友一起看看吧
    2023-09-09
  • vue+webpack實(shí)現(xiàn)異步組件加載的方法

    vue+webpack實(shí)現(xiàn)異步組件加載的方法

    下面小編就為大家分享一篇vue+webpack實(shí)現(xiàn)異步組件加載的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • 使用vue中的混入mixin優(yōu)化表單驗(yàn)證插件問(wèn)題

    使用vue中的混入mixin優(yōu)化表單驗(yàn)證插件問(wèn)題

    這篇文章主要介紹了使用vue中的混入mixin優(yōu)化表單驗(yàn)證插件,本文是小編給大家總結(jié)的一些表單插件的問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • vue引入微信sdk 實(shí)現(xiàn)分享朋友圈獲取地理位置功能

    vue引入微信sdk 實(shí)現(xiàn)分享朋友圈獲取地理位置功能

    這篇文章主要介紹了h5 vue引入微信sdk 實(shí)現(xiàn)分享朋友圈,分享給朋友,獲取地理位置功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評(píng)論

南川市| 广丰县| 万年县| 体育| 朝阳县| 金溪县| 古田县| 桃园县| 河曲县| 谢通门县| 恭城| 德格县| 榆树市| 泗水县| 通山县| 湖北省| 莱阳市| 新宁县| 阿尔山市| 广安市| 普陀区| 封开县| 松原市| 江北区| 阳原县| 呼图壁县| 香港 | 玛多县| 长顺县| 嘉善县| 桂阳县| 抚顺市| 闵行区| 石景山区| 鸡泽县| 清流县| 连江县| 株洲县| 内江市| 青神县| 庄河市|