我在我的项目中使用企业版ag-Grid。
我发现工具提示支持在框下方,并进行如下操作:
columnDefs = [
{
headerName: 'USER NAME',
field: 'userName',
sortingOrder: ['asc', 'desc'],
filter: 'agTextColumnFilter',
filterParams: {newRowsAction: "keep"},
floatingFilterComponentParams: {suppressFilterButton: true},
suppressMenu: true,
tooltip: (t: any) => { return t.value; }
}, //...
];
工具提示工作正常,并显示在网格中“userName”列的每个单元格上方。
如果文本仅是省略号,是否可以在标题/单元格上方显示工具提示?
提前致谢。
如果有人正在检查这个问题,也许可以使用this来检测是否显示省略号。
然后做这样的事情:
if (ellipsisIsShowing())
return t.value;
else
return; //no tooltip will be shown
继续@cacatua_box在这里回答我的解决方案。仅细胞水平。
...
defaultColDef: {
sortable: true,
filter: true,
resizable: true,
suppressMovable: true,
tooltipComponent: CustomTooltip,
},
class CustomTooltip {
eGui: HTMLDivElement
init(params: ITooltipParams) {
let cell
if (params.location === 'cell' && params.rowIndex) {
cell = params.api.rowRenderer.rowCtrlsByRowIndex[params.rowIndex].centerGui.element.querySelector(`[aria-colindex='${params.column.instanceId + 1}']`)
}
this.eGui = document.createElement('div')
this.eGui.innerHTML = params.value
this.eGui.style.display = cell?.scrollWidth > cell?.offsetWidth || params.location === 'header' ? 'block' : 'none'
}
getGui() {
return this.eGui
}
}