环境:
antdesign 版本号, 5.11
一、实现目标
使用 AntDesign 中 Table的 scrollTo 来设置滚动条的显示位置,达到自动滑动效果。
简单介绍 scrollTo 方法:
scrollTo 有三个参数 ({index:number,top:number,key:React.key}),
index: 表示行索引(从 0 开始计数)。
key: 表示行的唯一 key。
top: 表示滚动到指定位置的距离顶部的偏移量,具体的 px值。
二、实现步骤
1.定义表格实体,并绑定到Table 中
// 请求表格实例
const sporemeterRef: any = useRef();
<Table
ref={sporemeterRef}>
</Table>
2.获取对应元素的高度,并调用scrollTo 方法,实现滚动的效果
useEffect(() => {
// 是否回到顶部
let increasing = true;
// 防抖节流,避免重复开启滚动条方法
let isScrolling = isSelt;
// table 元素
const tableNode = sporemeterRef?.current;
// 全部内容的高度
const tableHeight =
tableNode?.nativeElement?.querySelector('.ant-table-tbody')
?.offsetHeight;
// 显示内容的高度
const tableHeights =
tableNode?.nativeElement?.querySelector(
'.ant-table-body'
)?.offsetHeight;
// 被卷去的高度
let tableScrollTop =
tableNode?.nativeElement?.querySelector(
'.ant-table-body'