@@ -402,31 +402,40 @@ function coerceInput(eOrVal) {
402
402
return Number .isFinite (n) ? n : NaN ;
403
403
}
404
404
405
+ let rafStart = 0 ;
405
406
function setStartValue (eOrVal ) {
406
407
isRanging .value = true ;
407
408
const n = coerceInput (eOrVal);
408
409
if (! Number .isFinite (n)) return ;
409
- start .value = n;
410
+ cancelAnimationFrame (rafStart);
411
+ rafStart = requestAnimationFrame (() => {
412
+ start .value = n;
413
+ });
410
414
}
411
415
416
+ let rafEnd = 0 ;
412
417
function setEndValue (eOrVal ) {
413
418
isRanging .value = true ;
414
419
const n = coerceInput (eOrVal);
415
420
if (! Number .isFinite (n)) return ;
416
- end .value = n;
421
+ cancelAnimationFrame (rafEnd);
422
+ rafEnd = requestAnimationFrame (() => {
423
+ end .value = n;
424
+ });
417
425
}
418
426
427
+ onBeforeUnmount (() => {
428
+ cancelAnimationFrame (rafStart);
429
+ cancelAnimationFrame (rafEnd);
430
+ });
431
+
419
432
const currentRange = computed (() => {
420
433
return props .valueEnd - props .valueStart ;
421
434
});
422
435
423
436
const isDragging = ref (false );
424
437
let initialMouseX = ref (null );
425
438
426
- const dragThreshold = computed (() => {
427
- return (wrapperWidth .value - 48 ) / (props .max - props .min );
428
- });
429
-
430
439
const selectionWidth = computed (() => {
431
440
return ((wrapperWidth .value - 48 ) / (props .max - props .min )) * currentRange .value ;
432
441
});
@@ -884,7 +893,6 @@ defineExpose({
884
893
@keyup.enter =" commitImmediately"
885
894
@blur =" commitImmediately"
886
895
@mouseenter =" setLeftLabelZIndex('start')"
887
- @pointermove =" start = +$event.target.value"
888
896
@pointerup =" commitImmediately"
889
897
/>
890
898
@@ -906,7 +914,6 @@ defineExpose({
906
914
@keyup.enter =" commitImmediately"
907
915
@blur =" commitImmediately"
908
916
@mouseenter =" setLeftLabelZIndex('end')"
909
- @pointermove =" end = +$event.target.value"
910
917
@pointerup =" commitImmediately"
911
918
/>
912
919
0 commit comments