在AG-Grid中,使用gridOptions.columnApi.autoSizeAllColumns()自动调整所有列的宽度和高度。这将会自动计算列标题的高度,以便能够容纳可能会包含多行文本的表头。
代码示例:
gridOptions: {
columnApi: {
autoSizeAllColumns() {
// 自动调整所有列的宽度和高度
this.getAllColumns().forEach((column) => {
column.autoSize();
});
// 自动计算列标题的高度
const headerRow = this.getHeaderRow();
if (headerRow) {
const headerElements = headerRow.querySelectorAll('.ag-header-cell-text');
const maxHeight = Math.max(...Array.from(headerElements).map((element) => element.offsetHeight));
headerElements.forEach((element) => {
element.style.height = ${maxHeight}px
;
});
}
},
},
},
//调用
this.gridOptions.columnApi.autoSizeAllColumns();
注意:自定义表头渲染器可能无法与此解决方法兼容。