uni-app picker-view时间选择器 @change事件首尾快速滑动有1秒延迟
uni-app picker-view时间选择器 @change事件首尾快速滑动有1秒延迟
| 项目属性 | 值 |
|---|---|
| 产品分类 | uniapp/小程序/微信 |
| PC开发环境操作系统 | Windows |
| PC开发环境操作系统版本号 | win10 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 3.2.15 |
| 第三方开发者工具版本号 | 2.18.00 |
| 基础库版本号 | 2.18.00 |
| 项目创建方式 | HBuilderX |
操作步骤:
picker-view做一个时间选择器,@change事件在第一项直接划到最后一项会有1秒的延迟才出结果,反之亦然
预期结果:
正常
实际结果:
延迟1秒,论坛里搜索了,也有其他开发者反馈过,但是没有人搭理
bug描述:
picker-view做一个时间选择器,@change事件在第一项直接划到最后一项会有1秒的延迟才出结果,反之亦然

更多关于uni-app picker-view时间选择器 @change事件首尾快速滑动有1秒延迟的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3 回复
同,+1
更多关于uni-app picker-view时间选择器 @change事件首尾快速滑动有1秒延迟的实战教程也可以访问 https://www.itying.com/category-93-b0.html
我这里没有放demo,官方是不会理的,你重新提个bug上传demo吧
这是微信小程序原生组件picker-view的已知性能问题。当快速滑动到首尾位置时,由于需要处理大量数据渲染和事件触发,确实会出现延迟现象。
主要原因:
- picker-view在快速滑动时会触发大量@change事件
- 首尾位置滑动时,组件需要处理完整的滚动动画和位置计算
- 数据量较大时(如时间选择器的24小时或60分钟),渲染开销增加
临时解决方案:
- 使用防抖(debounce)控制@change事件触发频率
let timer = null
onChange(e) {
clearTimeout(timer)
timer = setTimeout(() => {
// 实际处理逻辑
console.log(e.detail.value)
}, 300)
}

