diff --git a/packages/components/slider/src/composables/use-slide.ts b/packages/components/slider/src/composables/use-slide.ts index 12700ba884..c87a212cb2 100644 --- a/packages/components/slider/src/composables/use-slide.ts +++ b/packages/components/slider/src/composables/use-slide.ts @@ -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, } diff --git a/packages/components/slider/src/slider.vue b/packages/components/slider/src/slider.vue index cc2b607a8e..05f3d5fc4a 100644 --- a/packages/components/slider/src/slider.vue +++ b/packages/components/slider/src/slider.vue @@ -83,6 +83,7 @@ :key="key" :mark="item.mark" :style="getStopStyle(item.position)" + @mousedown.stop="onSliderMarkerDown(item.position)" /> @@ -158,6 +159,7 @@ const { onSliderWrapperPrevent, onSliderClick, onSliderDown, + onSliderMarkerDown, setFirstValue, setSecondValue, } = useSlide(props, initData, emit)