uni-app movable-view 在新的钉钉小程序版本中@change事件无效了
uni-app movable-view 在新的钉钉小程序版本中@change事件无效了
测试过的手机:
6sp
操作步骤:
预期结果:
- @change可以继续使用
实际结果:
- 不能使用
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
更多关于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);
}

