diff --git a/packages/components/table/src/table/style-helper.ts b/packages/components/table/src/table/style-helper.ts index ccdd92903b..13af1b939e 100644 --- a/packages/components/table/src/table/style-helper.ts +++ b/packages/components/table/src/table/style-helper.ts @@ -200,6 +200,11 @@ function useStyle( } else { useEventListener(window, 'resize', resizeListener) } + + useResizeObserver(table.refs.bodyWrapper, () => { + resizeListener() + table.refs?.scrollBarRef?.update() + }) } const resizeListener = () => { const el = table.vnode.el @@ -299,14 +304,14 @@ function useStyle( } if (props.maxHeight) { if (!Number.isNaN(Number(props.maxHeight))) { - const headerHeight = table.refs.headerWrapper?.scrollHeight || 0 - const footerHeight = table.refs.footerWrapper?.scrollHeight || 0 const maxHeight = props.maxHeight const reachMaxHeight = tableScrollHeight.value >= Number(maxHeight) if (reachMaxHeight) { return { maxHeight: `${ - tableScrollHeight.value - headerHeight - footerHeight + tableScrollHeight.value - + headerScrollHeight.value - + footerScrollHeight.value }px`, } }