diff --git a/packages/devui-vue/devui/time-picker/src/components/time-scroll/composables/use-time-scroll.ts b/packages/devui-vue/devui/time-picker/src/components/time-scroll/composables/use-time-scroll.ts index e1c039738c..71234bdabe 100644 --- a/packages/devui-vue/devui/time-picker/src/components/time-scroll/composables/use-time-scroll.ts +++ b/packages/devui-vue/devui/time-picker/src/components/time-scroll/composables/use-time-scroll.ts @@ -22,13 +22,14 @@ export default function useTimeScroll():any{ // 点击轨道 thumb滚动到相应位置 const clickTrackFun = (e:MouseEvent)=>{ - const offset = Math.abs(scrollTrackDom.value.getBoundingClientRect().top - e.clientY) + const offsetNum = scrollTrackDom.value.getBoundingClientRect().top - e.clientY + const offset = Math.abs(offsetNum > 0 ? 0 : offsetNum) const thumbCenter = scrollThumbDom.value.offsetHeight / 2; const thumbPosition = (offset - thumbCenter) * 100 / scrollContentDom.value.offsetHeight; scrollContentDom.value.scrollTop = (thumbPosition * scrollContentDom.value.scrollHeight / 100); scrollContentDom.value.style.top = scrollContentDom.value.scrollTop + 'px' } - + // 鼠标拖到 const mouseDownThum = ()=>{ isDown.value = true @@ -41,18 +42,14 @@ export default function useTimeScroll():any{ } const thumbMouseMove = (e:any)=>{ - const path = (e.composedPath && e.composedPath()) || e.path - if(path.includes(scrollBoxDom.value) || isDown.value){ scrollTrackDom.value.style.opacity = 1 }else{ scrollTrackDom.value.style.opacity = 0 } - if( !isDown.value ) return clickTrackFun(e) - } const getScrollWidth=()=>{ diff --git a/packages/devui-vue/devui/time-picker/src/composables/use-time-picker.ts b/packages/devui-vue/devui/time-picker/src/composables/use-time-picker.ts index 03e2fd7915..4f66a8928e 100644 --- a/packages/devui-vue/devui/time-picker/src/composables/use-time-picker.ts +++ b/packages/devui-vue/devui/time-picker/src/composables/use-time-picker.ts @@ -39,14 +39,18 @@ export default function useTimePicker( const vModelValueArr = value.split(':') const minTimeValueArr = minTime.split(':') + const maxTimeValueArr = maxTime.split(':') vModeValue.value == '' ? vModeValue.value = '00:00:00' : '' - - if( vModeValue.value > minTime ){ + + if( value > minTime && value < maxTime){ firsthandActiveTime.value = value setInputValue(vModelValueArr[0],vModelValueArr[1],vModelValueArr[2]) + }else if( value > maxTime ){ + firsthandActiveTime.value = maxTime + setInputValue(maxTimeValueArr[0],maxTimeValueArr[1],maxTimeValueArr[2]) }else{ firsthandActiveTime.value = minTime setInputValue(minTimeValueArr[0],minTimeValueArr[1],minTimeValueArr[2])