Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions packages/components/table/base-table-props.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@ export default {
type: [String, Function] as PropType<TdBaseTableProps['empty']>,
default: '' as TdBaseTableProps['empty'],
},
/** 切换分页时是否锁定滚动条。开启后,切换分页时不会重置滚动条位置。 */
enableLockScrollbar: Boolean,
/** 首行内容,横跨所有列 */
firstFullRow: {
type: [String, Function] as PropType<TdBaseTableProps['firstFullRow']>,
Expand Down
19 changes: 11 additions & 8 deletions packages/components/table/hooks/usePagination.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -74,14 +74,17 @@ export default function usePagination(
updateDataSourceAndPaginate(pageInfo.current, pageInfo.pageSize);
props.onPageChange?.(pageInfo, dataSource.value);

// 当切换分页时,内容区域滚动到顶部
const ref = tableContentRef.value;
if (ref.scrollTo) {
ref.scrollTo({ top: 0, left: 0 });
} else {
// 兼容测试环境或旧浏览器
ref.scrollTop = 0;
ref.scrollLeft = 0;
// 当切换分页时,默认将内容区域滚动到顶部。
// 若开启 enableLockScrollbar,则跳过重置,由 BaseTable 在数据渲染完成后恢复滚动位置。
if (!props.enableLockScrollbar && tableContentRef.value) {
const ref = tableContentRef.value;
if (ref.scrollTo) {
ref.scrollTo({ top: 0, left: 0 });
} else {
// 兼容测试环境或旧浏览器
ref.scrollTop = 0;
ref.scrollLeft = 0;
}
}
}}
v-slots={{ totalContent: context.slots.totalContent }}
Expand Down
2 changes: 1 addition & 1 deletion packages/components/table/primary-table-props.ts
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ export default {
},
/** 是否支持多列排序 */
multipleSort: Boolean,
/** 行选中功能,是否在分页时保留上一页选中结果不清空,本地数据分页场景下,会全选所有页数据。值为 `false` 则表示全部选中操作停留在当前页,不跨分页;本地数据分页场景下,全选仅选中当前页 */
/** 行选中功能,是否在分页时保留上一页选中结果不清空。分页场景下,会全选所有页数据,保留跨分页数据。值为 `false` 则表示全部选中操作停留在当前页,不跨分页 */
reserveSelectedRowOnPaginate: {
type: Boolean,
default: true,
Expand Down
Loading
Loading