fix(components): [slider] click on marks is inaccurately positioned (#15332)

* fix(components): [slider] click on marks is inaccurately positioned

closed #15330

* fix(components): [slider] inconsistent behavior in range mode

* refactor(components): [slider] simplify logic with setPosition method

---------

Co-authored-by: qiang <qw13131wang@gmail.com>
This commit is contained in:
Lov`u`e
2024-08-04 10:46:48 +08:00
committed by GitHub
parent 76b0ab0a5d
commit 5d1ceaa856
2 changed files with 8 additions and 0 deletions

View File

@@ -187,6 +187,11 @@ export const useSlide = (
}
}
const onSliderMarkerDown = (position: number) => {
if (sliderDisabled.value || initData.dragging) return
setPosition(position)
}
return {
elFormItem,
slider,
@@ -203,6 +208,7 @@ export const useSlide = (
onSliderWrapperPrevent,
onSliderClick,
onSliderDown,
onSliderMarkerDown,
setFirstValue,
setSecondValue,
}

View File

@@ -83,6 +83,7 @@
:key="key"
:mark="item.mark"
:style="getStopStyle(item.position)"
@mousedown.stop="onSliderMarkerDown(item.position)"
/>
</div>
</template>
@@ -158,6 +159,7 @@ const {
onSliderWrapperPrevent,
onSliderClick,
onSliderDown,
onSliderMarkerDown,
setFirstValue,
setSecondValue,
} = useSlide(props, initData, emit)