项目需要全屏表格,但在不同分辨率的屏幕上,表格头部内的文字会换行,导致表格高度超过屏幕。为了解决这个问题,需要动态获取表头高度。解决方法及注意事项:1、首先,tablescrolly的高度为页面窗口的高度减去tablebody以外的其他高度。2、通过componentDidUpdate获取最新的表头高度,判断新的高度是否有变化。3.指定一个默认高度,防止不必要的性能浪费和抖动4.在表的外层添加一个ID,防止访问其他表的表头高度。核心代码this.state={tableHeadHeight:34,//先根据你的UI设置勾选表头的默认高度}componentDidUpdate(){const{tableHeadHeight}=this.state;consttableHead=document.querySelector("#tableid.ant-table-thead");if(tableHead&&tableHead.clientHeight&&tableHead.clientHeight!==tableHeadHeight){//如果高度改变,重新设置高度this.setState({tableHeadHeight:tableHead.clientHeight});}}
