• 【uniapp】设置swiper组件禁止手动滑动失效的问题


    uniapp项目有个跨多端平台的有点,但是要埋的坑比较多,这不有一个平台跨出现问题了,编译运行在微信小程序开发工具上会出现了,swiper组件设置禁止手动滑动失效的问题,接下来讲讲怎么解决

    1. 先看文档

    uniapp官方文档介绍的 swiper 是这样写得属性说明,但有时会失效,看到这里挖个坑,来填了

    属性名类型默认值说明
    disable-touchBooleanfalse是否禁止用户 touch 操作
    touchableBooleantrue是否监听用户的触摸事件,只在初始化时有效,不能动态变更

    2. 尝试修改

    在某自定义组件内有加了swiper,又想要停止用户触摸滑动操作,加上catchtouchmove属性后,代码如下

    <template>
    	
    	<swiper class="zs-tablet-box" active-class="swipter-active" :current="activeIndex" disable-touch="true" touchable="false" >
    	<swiper-item class="box-item" catchtouchmove="onstoptouchmove">
    		<view class="form">
    			<view class="form-header">
    				<text>设置text>
    			view>
    			<view class="form-content">
    				<scroll-view :scroll-y="true" :style="{height:(size-60)+'px'}">
    					<view>
    						<slot>slot>
    					view>
    				scroll-view>
    			view>
    		view>
    	swiper-item>
    	swiper>
    	
    template>
    <script>
    	export default {
    		data(){
    			return {
    				size:300,
    				activeIndex:0,
    			}
    		},
    		//...
    		methods:{
    			onstoptouchmove(){
    				return false;
    			},
    		}
    		//...
    	}
    script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    但是,这放在微信小程序上编译后会报出上面提到的错误,...does not have a method "onstoptouchmove" to handle event "touchmove",究竟是什么意思呢,翻译过来是说触摸移动方法有问题

    2. 解决方法

    解决方法是这样的,在uniapp项目上只要在前面加上@,还有,要符合Vue规范写法,应该替换成touchmove.stop这样,在微信小程序上就不会报错了,果然有效,代码如下

    <swiper-item class="box-item"
    	
    >
    	<view class="form">
    		<view class="form-header">
    			<text>设置text>
    		view>
    		<view class="form-content">
    			<scroll-view :scroll-y="true" :style="{height:(size-60)+'px'}">
    				<view>
    					<slot>slot>
    				view>
    			scroll-view>
    		view>
    	view>
    swiper-item>
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
  • 相关阅读:
    游戏开发丨基于Tkinter的五子棋小游戏
    B - Leonel and the powers of two
    如何提高跨境店铺的权重—扬帆凌远
    【零基础入门TypeScript】对象
    h5唤起微信小程序
    SpringBoot之Swagger
    AI+保险,打造让投保人“叫绝”的服务方式
    酷雷曼多种AI数字人形象,打造科技感VR虚拟展厅
    【JavaSE】static关键字
    Java:适合Java初学者的学习技巧
  • 原文地址:https://blog.csdn.net/zs1028/article/details/127935802