Vue移动端下拉刷新组件如何使用

其他教程   发布日期:2025年02月24日   浏览次数:158

这篇“Vue移动端下拉刷新组件如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue移动端下拉刷新组件如何使用”文章吧。

第一种方法应该是很方便的一种了 , 就是修改源码样式了 , 你可以将以下代码加入到你的 css 中 , 注意 , 如果你使用的是局部 css , 请使用穿透或者新开一个全局 style

  1. .van-pull-refresh {
  2. height: calc(100vh - 100px) !important; // 此处的 100px 需要根据你的实际情况来处理 , 是页面中不包含列表的高度部分
  3. overflow: auto !important;
  4. }

但是有时候会出现第一种方法不起作用的情况 , 遇到这种情况 , 我也只能推荐你使用原生方法 scroll 来判断是否需要进行下拉刷新了

第二种就是即时判断是否需要下拉刷新了

这种方法的原理就是 当列表的 scrollTop 为 0 时 , 说明列表已经到顶了 , 到顶了还往下拉说明你就是想要刷新列表 , 如果 scrollTop 不等于 0 那就是列表向下滑动而已

我们看下使用组件时需要的属性

  1. <van-pull-refresh
  2. v-model="refreshing" // 表示是否在刷新 , 下拉时自动变为 true ,需要在请求数据结束后手动设置为 false
  3. @refresh="onRefresh" // 下拉刷新触发的方法 , 将分页变为 1 然后请求数据
  4. :disabled="pullRefreshDisabled" // 是否禁用下拉刷新的方法 , 禁用后将无法下拉刷新 , 通过列表滚动高度来控制这个值
  5. >
  6. <van-list
  7. v-model:loading="loading" // 是否处于加载状态 , 列表滑到最底处时自动变成 true , 变为 true 时不会触发 load 事件方法
  8. :finished="finished" // 是否已经加载完成
  9. finished-text="没有更多了"
  10. @load="onLoad" // 加载新数据的方法 , 移动端一般传入新的页数将新数据数组添加到原有数据数组之后
  11. @scroll="divScroll" // 滚动时触发的事件 , 来判断当前滚动的高度是多少
  12. >
  13. <div v-for="(item, index) in data" :key="index">
  14. {{ item }}
  15. </div>
  16. </van-list>
  17. </van-pull-refresh>

如果都看了上面的注释 , 那么其实也很简单了 , 我们在 divScroll 方法中实时监控滚动的高度 , 当滚动的高度 == 0 的时候 , 就给下拉刷新组件可以下拉刷新的功能

  1. const pullRefreshDisabled = ref(false)
  2. const divScroll = (e: any) => {
  3. if (e.target.scrollTop == 0) {
  4. pullRefreshDisabled.value = false
  5. } else {
  6. pullRefreshDisabled.value = true
  7. }
  8. }

用了这么长时间 , 我越发觉得一个 any 走天下了

初始值设置为 false 是为了一开始就能下拉刷新 , 千万别搞混 , 这个 pullRefreshDisabled 为 true 时是不能下拉刷新 , 为 false 时是可以下拉刷新。

以上就是Vue移动端下拉刷新组件如何使用的详细内容,更多关于Vue移动端下拉刷新组件如何使用的资料请关注九品源码其它相关文章!