uni-app movable-view 在新的钉钉小程序版本中@change事件无效了

uni-app movable-view 在新的钉钉小程序版本中@change事件无效了

测试过的手机:

6sp

操作步骤:

  • 新版本@change不行了 但是@touchend是可以的 再钉钉小程序 不是支付宝小程序

预期结果:

实际结果:

  • 不能使用

bug描述:

  • movable-view 在新的钉钉小程序版本中@change事件无效了 老的版本hbuidlerx还是可以的 新的版本不行了

| 信息类别         | 信息内容       |
|------------------|----------------|
| 产品分类         | uniapp/App     |
| PC开发环境操作系统 | Mac            |
| PC开发环境操作系统版本号 | 13.3.1         |
| HBuilderX类型    | 正式           |
| HBuilderX版本号  | 3.99           |
| 手机系统         | 全部           |
| 手机厂商         | 华为           |
| 页面类型         | vue            |
| vue版本          | vue2           |
| 打包方式         | 云端           |
| 项目创建方式     | HBuilderX      |

更多关于uni-app movable-view 在新的钉钉小程序版本中@change事件无效了的实战教程也可以访问 https://www.itying.com/category-93-b0.html

12 回复

@chang@touchend 同事存在的时候@change失效 去掉@touchend 之后 @chang才能用 但是3.7.9版本是好的

更多关于uni-app movable-view 在新的钉钉小程序版本中@change事件无效了的实战教程也可以访问 https://www.itying.com/category-93-b0.html


必须是正式打包情况下 才能出现

在原生小程序中测试下是否正常,如确认框架问题,请提供下测试工程。

原生正常 在hbuilder3.7.9打包后是正常的 一定要在正式发包之后调试 用builder/mp-alipay测试 测试环境没什么问题 最好能真机测试 必须是钉钉小程序 支付宝小程序是可以的 测试包在下面

测试包 打发布版本 最好钉钉扫码测试

感谢反馈,我验证排查一下

按照你的步骤测试过后真机在钉钉小程序上进行测试,发现可以正常触发@change ,你将HBX和小程序基础库版本升级到最新版本试试,若后续有问题,我负责跟进~

都是最新版本的 3.7.9可以 我看也有人反馈这个问题

回复 海角: 是选择的正式包吗 测试包时可以的 发行-》钉钉小程序 支付宝小程序可以 钉钉小程序企业内部小程序不行

回复 海角: 是的,我测试的是最新版本正式包

回复 海角: 能提供一下别人反馈这个问题的帖子链接吗,我刚刚没搜到以前有类似的问题,我对比一下差异

在新版本的钉钉小程序中,movable-view 组件的 [@change](/user/change) 事件可能由于某些原因失效。这可能是由于钉钉小程序的底层框架或 API 发生了变更,导致事件监听不再正常工作。以下是一些可能的解决方案和排查步骤:


1. 检查钉钉小程序版本

确保你使用的钉钉小程序基础库是最新版本,或者尝试回退到一个已知稳定的版本,看看问题是否依然存在。


2. 检查事件绑定语法

确保你在 movable-view 组件中正确绑定了 [@change](/user/change) 事件。例如:

<movable-area>
  <movable-view [@change](/user/change)="handleChange">可移动区域</movable-view>
</movable-area>

在对应的 script 部分:

export default {
  methods: {
    handleChange(event) {
      console.log('movable-view 变化:', event);
    }
  }
}

3. 使用其他事件替代

如果 [@change](/user/change) 事件确实失效,可以尝试使用其他事件来监听 movable-view 的变化,例如 @touchstart@touchmove@touchend

<movable-area>
  <movable-view @touchmove="handleTouchMove">可移动区域</movable-view>
</movable-area>

script 中:

export default {
  methods: {
    handleTouchMove(event) {
      console.log('movable-view 移动中:', event);
    }
  }
}

4. 查看钉钉小程序官方文档

检查钉钉小程序的官方文档,确认 movable-view 组件的 [@change](/user/change) 事件是否有变更或废弃的情况。如果有,可能需要使用新的替代方案。


5. 调试与日志

在代码中添加调试日志,确认事件是否触发。例如:

handleChange(event) {
  console.log('[@change](/user/change) 事件触发:', event);
}
回到顶部