From 3853845fc9f1b72f2e613a30352ae537bf9cd964 Mon Sep 17 00:00:00 2001 From: 20savage <1833496831@qq.com> Date: Sun, 4 Jun 2023 10:49:48 +0800 Subject: [PATCH] fix(components):[time-picker] add parseFloat to resolve TimePicker offset (#12837) * fix(components): add parseFloat to resolve TimePicker offset Height is calculated using offsetHeight, offsetHeight will be rounded off closed #12835 * fix(components): import getStyle to optimize the code closed #12835 * Delete useless statements * add judgment * Update basic-time-spinner.vue --- .../time-picker/src/time-picker-com/basic-time-spinner.vue | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue b/packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue index c9cacefc6c..6d1f24ada3 100644 --- a/packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue +++ b/packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue @@ -85,6 +85,7 @@ import ElScrollbar from '@element-plus/components/scrollbar' import ElIcon from '@element-plus/components/icon' import { ArrowDown, ArrowUp } from '@element-plus/icons-vue' import { useNamespace } from '@element-plus/hooks' +import { getStyle } from '@element-plus/utils' import { timeUnits } from '../constants' import { buildTimeList } from '../utils' import { basicTimeSpinnerProps } from '../props/basic-time-spinner' @@ -212,7 +213,11 @@ const adjustSpinner = (type: TimeUnit, value: number) => { const typeItemHeight = (type: TimeUnit): number => { const scrollbar = unref(listRefsMap[type]) - return scrollbar?.$el.querySelector('li').offsetHeight || 0 + const listItem = scrollbar?.$el.querySelector('li') + if (listItem) { + return Number.parseFloat(getStyle(listItem, 'height')) || 0 + } + return 0 } const onIncrement = () => {