diff --git a/packages/components/table/src/main/MainTable.tsx b/packages/components/table/src/main/MainTable.tsx index 0bb56a99e..580d1e00f 100644 --- a/packages/components/table/src/main/MainTable.tsx +++ b/packages/components/table/src/main/MainTable.tsx @@ -18,7 +18,7 @@ import { watch, } from 'vue' -import { isNumber } from 'lodash-es' +import { debounce, isNumber } from 'lodash-es' import { offResize, onResize } from '@idux/cdk/resize' import { CdkVirtualScroll, type VirtualContentRenderFn, type VirtualItemRenderFn } from '@idux/cdk/scroll' @@ -45,6 +45,7 @@ export default defineComponent({ mergedPrefixCls, mergedSize, mergedAutoHeight, + columnWidths, changeColumnWidth, flattedData, isSticky, @@ -80,7 +81,6 @@ export default defineComponent({ const handleWrapperResize = (evt: ResizeObserverEntry) => { const { offsetWidth } = evt.target as HTMLDivElement if (offsetWidth !== mainTableWidth.value) { - triggerScroll() mainTableWidth.value = offsetWidth } } @@ -94,6 +94,15 @@ export default defineComponent({ } }) + // see https://github.com/IDuxFE/idux/issues/1140 + const handlerColumnWidthsChange = () => { + const currScrollLeft = convertElement(scrollBodyRef)?.scrollLeft + if (currScrollLeft === 0) { + triggerScroll() + } + } + watch(columnWidths, debounce(handlerColumnWidthsChange, 16)) + onResize(mainTableRef.value, handleWrapperResize) }) diff --git a/packages/components/table/style/fixed.less b/packages/components/table/style/fixed.less index ecddb33db..cc3240412 100644 --- a/packages/components/table/style/fixed.less +++ b/packages/components/table/style/fixed.less @@ -50,8 +50,8 @@ background-color: transparent !important; } - &-ellipsis&-fix-start-last, - &-ellipsis&-fix-end-first { + &-cell-ellipsis&-fix-start-last, + &-cell-ellipsis&-fix-end-first { overflow: visible; } diff --git a/packages/pro/table/src/ProTableLayoutTool.tsx b/packages/pro/table/src/ProTableLayoutTool.tsx index 73f4ac1e0..f7d453570 100644 --- a/packages/pro/table/src/ProTableLayoutTool.tsx +++ b/packages/pro/table/src/ProTableLayoutTool.tsx @@ -63,7 +63,7 @@ export default defineComponent({ const triggerNode = slots.default ? ( slots.default({ attrs }) ) : ( - + )