пользовательская подсказка ag-grid не работает после обновления значения ячейки, работает только после обновления сетки

#javascript #angular #ag-grid #ag-grid-angular

#javascript #angular #ag-grid #ag-grid-angular

Вопрос:

Пользовательская подсказка Ag-grid не работает после обновления значения ячейки с помощью rowNode, но работает после обновления.

ag grid версии 20.1.0, пользовательская подсказка не показывает результатов после обновления значения ячейки с использованием rowNode.setDataValue(‘product’, 10); , значение обновляется в ячейке, но при наведении значение не просматривается.

 <ag-grid-angular
          class="ag-theme-balham grid"
          [rowData]="rowData"
          [animateRows]="true"
          rowHeight="38"
          [enableRangeSelection]="true"
          [enableFilter]="true"
          [enableSorting]="true"
          [enableColResize]="true"
          [sideBar]="sideBar"
          [columnDefs]="columnDefs"
          [domLayout]="autoHeight"
          (gridReady)="onGridReady($event)"
          (rowClicked)="rowClicked($event)"
          [autoGroupColumnDef]="autoGroupColumnDef"
          [rowGroupPanelShow]="rowGroupPanelShow"
          [suppressNoRowsOverlay]="true"
          [suppressDragLeaveHidesColumns]="true"
          [suppressMakeColumnVisibleAfterUnGroup]="true"
          [frameworkComponents]="frameworkComponents"></ag-grid-angular>


  in TS:
----------

and setting cell value like this in the aggrid programtiaclly. 

        const id = this.selectedRow['id']; (grid - id -- dynamicvalue)
        const rowNode = this.gridApi.getRowNode(id);
        rowNode.setDataValue('status', 1);


        this.frameworkComponents = {
         customTooltipComponent: CustomTooltipComponent
        };


CustomTooltipComponent:-
---------------------------------------------------------------
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
import { ITooltipAngularComp } from 'ag-grid-angular';
@Component({
  selector: 'app-custom-tooltip',
  template: `<div class="custom-tooltip">
  <div *ngIf="imageViewer"><img [src]="params.value" alt="" /></div>
  <div *ngIf="imageViewer === false">{{ params.value }}</div`,
  styleUrls: ['./custom-tooltip.component.scss']
})

class CustomTooltipComponent implements ITooltipAngularComp {
  private params: any;
  private data: any;
  public imageViewer: boolean;

           agInit(params): void {
               this.params = params;
           }

}
-----------------------------------------------------------------------
  

мой ожидаемый результат — после установки значения при наведении курсора на ячейку мне нужно увидеть обновленное значение в виде всплывающей подсказки без обновления.

Ответ №1:

В вашем defaultColDefs таблицы попробуйте использовать ключ всплывающей подсказки напрямую следующим образом:

 this.defaultColDef ={
      tooltip: (params) => {
        return params.name;
      }