在使用滑动选择器slider组件时,根据项目需求需同时使用onChange和onChanging进行监听,如果该组件频繁且快速的多次滑动时,onChange监听有时候出现无回调,这大概是什么原因导致的,该如何解决。打印如附件。ture表正在滑动onChanging的监听回调,false表滑动结束onChange的监听回调。
[求助]滑动选择器slider组件onChange无回调
Re: [求助]滑动选择器slider组件onChange无回调
我们这边看下基础组件逻辑,有结论回复你
Re: [求助]滑动选择器slider组件onChange无回调
看了一下,你是不是手指滑动到屏幕外了? 滑动到屏幕外会监听不到touchend事件
Re: [求助]滑动选择器slider组件onChange无回调
没,就是正常的快速来回滑动且多次类似操作,就会出现
Re: [求助]滑动选择器slider组件onChange无回调
基础库版本是多少?
Re: [求助]滑动选择器slider组件onChange无回调
稳定复现吗,我这边试着快速滑了一会,很难复现出来onChange不触发的情况
Re: [求助]滑动选择器slider组件onChange无回调
很容易出现的,demo和滑动条组件slider操作视频见附件
- Attachments
-
- video.zip
- 操作视频
- (3.69 MiB) Downloaded 122 times
-
- chartdemo.zip
- 源码demo
- (1.42 MiB) Downloaded 144 times
Re: [求助]滑动选择器slider组件onChange无回调
原因确定到了,Slider组件onChange前,会判断当前拖动值和上次拖动结束的值是否一致,如果一致就不会触发onChange。你这个Slider是0-3变化,就是拖动值只有0、1、2、3,你可以试试先拖到值为1,然后再从1拖到3不松手再回到1,这个情况下就判断值没变,不会触发onChange。
Re: [求助]滑动选择器slider组件onChange无回调
onChange的本意也是值变化时才会触发回调。如果你想监听拖动结束的松手事件,可以用SjsSlider有拖动结束的事件。