ios滚动条影响父页面 vue_Vue+Mint-Ui使用时,ios下loadmore组件和-webkit-overflow-scrolling属性冲突无法上拉问题...

本文档介绍了在Vue+Mint-Ui框架下,遇到iOS设备上loadmore组件与`-webkit-overflow-scrolling`属性冲突,导致无法上拉加载数据的问题。通过在数据加载完成后调整`scrollMode`属性来解决这个问题,提供了一个完整的解决示例代码,适用于有一定Vue开发基础的开发者。同时提醒开发者注意此坑,以避免浪费时间。
摘要由CSDN通过智能技术生成
  • 我是小11
    我是小11

import {Loadmore} from 'mint-ui';

export default {

data:function() {

return {

searchCondition:{ //分页属性

pageNo:"1",

pageSize:"10"

},

pageList:[],

allLoaded: false, //是否可以上拉属性,false可以上拉,true为禁止上拉,就是不让往上划加载数据了

scrollMode:"auto" //移动端弹性滚动效果,touch为弹性滚动,auto是非弹性滚动

}

},

components: {

'v-loadmore':Loadmore // 为组件起别名,vue转换template标签时不会区分大小写,例如:loadMore这种标签转换完就会变成loadmore,容易出现一些匹配问题

// 推荐应用组件时用a-b形式起名

},

mounted(){

this.loadPageList(); //初次访问查询列表

},

methods: {

loadTop:function() { //组件提供的下拉触发方法

//下拉加载

this.loadPageList();

this.$refs.loadmore.onTopLoaded();// 固定方法,查询完要调用一次,用于重新定位

},

loadBottom:function() {

// 上拉加载

this.more();// 上拉触发的分页查询

this.$refs.loadmore.onBottomLoaded();// 固定方法,查询完要调用一次,用于重新定位

},

loadPageList:function (){

// 查询数据

this.api.PageList(this.searchCondition).then(data =>{

// 是否还有下一页,加个方法判断,没有下一页要禁止上拉

this.isHaveMore(data.result.haveMore);

this.pageList = data.result.pageList;

this.$nextTick(function () {

// 原意是DOM更新循环结束时调用延迟回调函数,大意就是DOM元素在因为某些原因要进行修改就在这里写,要在修改某些数据后才能写,

// 这里之所以加是因为有个坑,iphone在使用-webkit-overflow-scrolling属性,就是移动端弹性滚动效果时会屏蔽loadmore的上拉加载效果,

// 花了好久才解决这个问题,就是用这个函数,意思就是先设置属性为auto,正常滑动,加载完数据后改成弹性滑动,安卓没有这个问题,移动端弹性滑动体验会更好

this.scrollMode = "touch";

});

});

},

more:function (){

// 分页查询

this.searchCondition.pageNo = parseInt(this.searchCondition.pageNo) + 1;

this.api.loadPageList(this.searchCondition).then(data=>{

this.pageList = this.pageList.concat(data.result.pageList);

this.isHaveMore(data.result.haveMore);

});

},

isHaveMore:function(isHaveMore){

// 是否还有下一页,如果没有就禁止上拉刷新

this.allLoaded = true; //true是禁止上拉加载

if(isHaveMore){

this.allLoaded = false;

}

}

}

}

花了点时间整理了下代码,复制后改改就能用了,当然你要有基本的vue开发框架,并且有点开发基础,代码很简单,这个插件很好用,效果不错,加载时的文字什么的可以自己修改,比如增加箭头什么的,可以看文档。

PS:有个坑一定要注意就是注释里说的iPhone里loadmore和-webkit-overflow-scrolling属性冲突无法上拉问题,还是vue学的不精,浪费了太多时间,引以为戒

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值