@@ -402,31 +402,40 @@ function coerceInput(eOrVal) {
402402 return Number .isFinite (n) ? n : NaN ;
403403}
404404
405+ let rafStart = 0 ;
405406function setStartValue (eOrVal ) {
406407 isRanging .value = true ;
407408 const n = coerceInput (eOrVal);
408409 if (! Number .isFinite (n)) return ;
409- start .value = n;
410+ cancelAnimationFrame (rafStart);
411+ rafStart = requestAnimationFrame (() => {
412+ start .value = n;
413+ });
410414}
411415
416+ let rafEnd = 0 ;
412417function setEndValue (eOrVal ) {
413418 isRanging .value = true ;
414419 const n = coerceInput (eOrVal);
415420 if (! Number .isFinite (n)) return ;
416- end .value = n;
421+ cancelAnimationFrame (rafEnd);
422+ rafEnd = requestAnimationFrame (() => {
423+ end .value = n;
424+ });
417425}
418426
427+ onBeforeUnmount (() => {
428+ cancelAnimationFrame (rafStart);
429+ cancelAnimationFrame (rafEnd);
430+ });
431+
419432const currentRange = computed (() => {
420433 return props .valueEnd - props .valueStart ;
421434});
422435
423436const isDragging = ref (false );
424437let initialMouseX = ref (null );
425438
426- const dragThreshold = computed (() => {
427- return (wrapperWidth .value - 48 ) / (props .max - props .min );
428- });
429-
430439const selectionWidth = computed (() => {
431440 return ((wrapperWidth .value - 48 ) / (props .max - props .min )) * currentRange .value ;
432441});
@@ -884,7 +893,6 @@ defineExpose({
884893 @keyup.enter =" commitImmediately"
885894 @blur =" commitImmediately"
886895 @mouseenter =" setLeftLabelZIndex('start')"
887- @pointermove =" start = +$event.target.value"
888896 @pointerup =" commitImmediately"
889897 />
890898
@@ -906,7 +914,6 @@ defineExpose({
906914 @keyup.enter =" commitImmediately"
907915 @blur =" commitImmediately"
908916 @mouseenter =" setLeftLabelZIndex('end')"
909- @pointermove =" end = +$event.target.value"
910917 @pointerup =" commitImmediately"
911918 />
912919
0 commit comments