angular - 单元格渲染器组件在垫选项卡内时移出 AG 网格

标签 angular ag-grid-angular mat-table

我有两个 AG-grid 显示数据。他们每个人在每一行的末尾都有两个图标,用于修改或抑制数据行。它们每个都在垫片内。

<mat-tab-group>
    <mat-tab label="Adresses">
      <div class="col d-flex justify-content-end py-3"><button class="btn btn-major" *ngIf="modify" (click)="showCreateAdresseDialog()">CRÉER</button></div>
      <ag-grid-angular
        style="height: 600px"
        class="ag-theme-alpine"
        [rowData]="rowData"
        [gridOptions]="gridOptions"
        suppressCellSelection="true"
        [paginationAutoPageSize]="true"
        [pagination]="true"
        [frameworkComponents]="frameworkComponents"
        [overlayLoadingTemplate]="overlayLoadingTemplate"
        [overlayNoRowsTemplate]="overlayNoRowsTemplate"
        (gridReady)="onGridReady($event)">
      </ag-grid-angular>
    </mat-tab>

    <mat-tab label="Rôles">
      <div class="col d-flex justify-content-end py-3"><button class="btn btn-major" (click)="showCreateRoleDialog()" *ngIf="modify">CRÉER</button></div>
      <ag-grid-angular
        style="height: 600px"
        class="ag-theme-alpine"
        [rowData]="rolesRowData"
        [columnDefs]="columns"
        [gridOptions]="rolesGridOptions"
        suppressCellSelection="true"
        [paginationAutoPageSize]="true"
        [pagination]="true"
        [frameworkComponents]="frameworkComponents"
        [overlayLoadingTemplate]="overlayLoadingTemplate"
        [overlayNoRowsTemplate]="overlayNoRolesRowsTemplate"
        (gridReady)="onRolesGridReady($event)">
      </ag-grid-angular>
    </mat-tab>
  </mat-tab-group>

下面,您可以看到我是如何在 AG-grid 中添加组件的。

frameworkComponents = {
    modifierButtonRenderer: ActeurModifierAdresseButtonRendererComponent,
    // Other components
};

  gridOptions = {
context: {
  parentComponent: this
},
defaultColDef: {
  sortable: true,
  filter: true,
  suppressMovable: true
},
columnDefs: [
  { /* some data columns */ },
  {cellRenderer: 'modifierButtonRenderer', pinned: 'right', width: 50, suppressMenu: true},
  {cellRenderer: 'supprimerButtonRenderer', pinned: 'right', width: 50, suppressMenu: true}
]

现在,每个按钮都呈现在 AG 网格内。但是,如果切换到第二个 mat-tab,然后返回到第一个,则每个 cellRenderer 都会移到网格之外。不仅仅是 CSS 改变了元素的位置。它们刚好在网格的结束标记之后移动。

Before I switch mat tabs

After the switch

有没有人知道发生了什么,或者我该如何解决这个问题?

谢谢,

祝你有个愉快的一天

最佳答案

经过几次测试,似乎用单个

围绕 就足以消除该错误。

不过,将网格作为 元素的直接子元素可能会导致该错误,这很奇怪。

关于angular - 单元格渲染器组件在垫选项卡内时移出 AG 网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63397255/

相关文章:

javascript - 双击时是否有网格单元格(粘贴)事件

excel - 将 XLS(x) 数据转换为 Angular Material 数据表

angular - 为什么 mat-tables matRowDef 包含 2 个变量?

css - 如何让 mat-table 自动调整大小以适合标题

javascript - 无法推送嵌套数组中子级的数据子级

angular - Jasmine 测试失败但 'expected' 和 'toBe' 字符串似乎相等?

ag-grid - 是否可以使用 ag-grid 获得 "vertically-oriented"网格? (不是数据透视表)

angular - 如何在我的 Angular 7 项目中导入 ag-grid-enterprise

angular - ionic 3 关闭 ion-item-sliding

asp.net-mvc - Angular4 + MVC + cli + 使用从 cli 构建命令生成的 dist 文件夹进行部署