1***@qq.com
1***@qq.com
  • 发布:2021-07-23 19:22
  • 更新:2021-07-23 19:22
  • 阅读:838

【报Bug】nvue下.stop修饰符和e.stopPropagation()无效,touchmove事件触发有问题

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 10 家庭中文版 21H1

HBuilderX类型: 正式

HBuilderX版本号: 3.1.22

手机系统: Android

手机系统版本号: Android 10

手机厂商: vivo

手机机型: vivo x50 pro+

页面类型: nvue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<view class="fixed-btn flex-row flex-center" :style="{ bottom: bottom + 'px', right: right + 'px' }"  @click="handleGoQuickAdd" @touchstart="start" @touchmove.stop.prevent="move" @touchend="end">  
      <!--  #ifndef APP-NVUE -->  
      <text class="add icon-add flex-row flex-center"></text>  
      <!--  #endif  -->  
      <!--  #ifdef APP-NVUE -->  
      <text class="add iconfont flex-row flex-center">&#xe767;</text>  
      <!--  #endif  -->  
    </view>  

 move(e) {  
      let page = e.changedTouches[0]  
      let pageX=parseInt(page.pageX)  
      let pageY=parseInt(page.pageY)  
      console.log(pageX,pageY)  
      let x = pageX-this.pageX  
      let y = pageY-this.pageY  
      this.pageX = pageX  
      this.pageY = pageY  
      if(this.right-x>=0&&this.right-x<=this.w-50) this.right -= x  
      if(this.bottom-y>=0&&this.bottom-y<=this.h-50) this.bottom -= y  
      // #ifdef APP-NVUE  
      e.stopPropagation()  
      // #endif

操作步骤:

可复制以上代码测试

预期结果:

拖动元素无卡顿无跳动效果

实际结果:

元素跳动的很厉害

bug描述:

touchmove时手指按住没有移动但会一直触发touchmove事件
移动的时候touchumove的返回值e.changedTouches[0]里的pageX和pageY会连续返回拖动前和拖动后的值,导致拖动元素不停跳动
这些问题在H5和小程序没有发现,APP-PLUS没有测试,APP-NVUE会有这个问题

2021-07-23 19:22 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复