Ag-grid 工具提示仅位于省略号文本上方

问题描述 投票:0回答:2

我在我的项目中使用企业版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”列的每个单元格上方。
如果文本仅是省略号,是否可以在标题/单元格上方显示工具提示?

提前致谢。

javascript angular6 ag-grid ag-grid-ng2
2个回答
0
投票

如果有人正在检查这个问题,也许可以使用this来检测是否显示省略号。

然后做这样的事情:

if (ellipsisIsShowing())
   return t.value;
else 
  return; //no tooltip will be shown

0
投票

继续@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
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.