vant-ui 下拉刷新组件和滚动冲突

问题描述:

在使用vant-ui的下拉刷新和滚动加载组件时, 上下滑动屏幕时, 发现向下滑动总是触发下拉刷新( ios没有问题 )

解决过程:

搜索了相关问题, 有的是在滚动内容上加@touchmove.stop 属性, 有的是改写<van-pull-refresh>组件样式. 尝试之后问题未解决.

于是重新整理了一遍样式,统一用flex布局, 然后将<van-pull-refresh>组件单独放在一个固定高度的容器内,并且给父容器添加overflow:hidden属性;再在<van-pull-refresh>中添加固定高度,和overflow属性.

......
<div style=" flex:1; overflow: hidden;">
    <van-pull-refresh style="height:100%;overflow:auto;" >
        <van-list style="height: 100%;" >
        </van-list>
    </van-pull-refresh>
</div>
.....

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vant-ui是一款基于Vue.js的移动端UI组件库,提供了丰富的组件和功能。其中,上拉刷新是vant-ui中的一个常用组件,用于在移动端页面中实现上拉加载更多数据的功能。 使用vant-ui的上拉刷新组件,你需要按照以下步骤进行操作: 1. 安装vant-ui:在你的Vue项目中,通过npm或yarn安装vant-ui库。 2. 引入vant-ui:在需要使用上拉刷新组件的页面中,引入vant-ui库。 3. 使用上拉刷新组件:在页面中使用`van-pull-refresh`组件,并绑定相应的事件和数据。 下面是一个简单的示例代码,演示了如何在Vue项目中使用vant-ui的上拉刷新组件: ```vue <template> <div> <van-pull-refresh v-model="isLoading" @refresh="onRefresh"> <ul> <li v-for="item in list" :key="item.id">{{ item.name }}</li> </ul> </van-pull-refresh> </div> </template> <script> import { PullRefresh } from 'vant'; export default { components: { [PullRefresh.name]: PullRefresh, }, data() { return { isLoading: false, list: [], }; }, methods: { onRefresh() { // 模拟异步请求数据 setTimeout(() => { // 请求成功后更新数据 this.list = [...this.list, ...newData]; // 关闭上拉刷新状态 this.isLoading = false; }, 1000); }, }, }; </script> ``` 在上述示例中,`van-pull-refresh`组件用于包裹需要进行上拉刷新的内容,通过`v-model`绑定`isLoading`属性来控制上拉刷新的状态。当用户触发刷新事件时,会调用`onRefresh`方法进行数据请求,并在请求成功后更新数据和关闭上拉刷新状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值