antd Table 自适应滚动
问题:
antd的Table想要表头固定内容部分滚动的话必须给scroll设置固定值
如:
<Table columns={columns} dataSource={data} scroll={{ x: 1500, y: 300 }} />
需清楚地指明300
or calc(100vh - 30px)
,而我需要Table高度自适应父div的高度
即父元素div的高度初始化时是不定的,Table超出该div的高度时,内部自动发生滚动
解决:
const [scrollY, setScrollY] = useState('');
useEffect(() => {
const Y = document.getElementById('table')?.clientHeight;
if (Y) setScrollY(`${Y - 32}px`); // 32为表头的高,应用时减去自己表格的表头高
}, []);
<div id="table">
<Table columns={columns} dataSource={data} scroll={{ y: scrollY }} />
<div>