vue 移动端的项目用了mint-ui;
在滑动的时候,它居然有的时候报错,虽然不影响页面的展示和功能的正常显示,但是,就是看着报错就是不爽啊!
报错内容:
Ignored attempt to cancel a touchmove event with cancelable=false, for example because scrolling is in progress and cannot be interrupted.
解决方式一:
直接在滚动的大块标签上进行样式的控制,touch-action: none;当触控事件发生在元素上时,不进行任何操作。
这个样式就很暴力了啊,直接禁止了滑动,想想就是怪方式。但是,如何是多个滑动区域,可以动态进行禁止某个不滑动,但是其他的又在滑动;也可以优化,比如弹框展示了,不想底部的元素滚动,那么底部的元素就动态的加上touch-action为none,不让它滑动。
这个方法不能解决我要的效果,因为我的滚动区域还是需要保留的,不能加个样式把它禁用了。
解决方式二
路径:node_modules/mint-ui/lib/loadmore/index.js(报错的时候能够定位到报错的地方)
框出来的部分就是报错的地方,在this.topStatus !== ‘loading’ 后合并 event.cancelable即可,如图:
这个方式挺好用,就是当不可撤销的时候,不让用户进行操作,但是这里可能会导致“加载更多”展示问题,使用的时候还得多多判断,只是我的需求已经达到了而已。