kendo ui 网格 angular 5 mat-menu 未在 kendoGridCellTemplate 中关闭

kendo ui grid angular 5 mat-menu not closing in kendoGridCellTemplate

我在 kendoGridCellTemplate 中有一个 mat-menu,其中菜单项由 ngFor[=32= 创建].

此菜单显示正确,但一旦我们单击它未关闭

如果我使用 chrome 检查器导航到该元素,它不在 DOM 中。

<kendo-grid-column *ngIf="shouldCreate" title="Menu">
  <ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex">
    <mat-menu #actionMenu="matMenu" [overlapTrigger]="false">
      <div class="action-menu">
        <a *ngFor="let actionitem of Items;let mi=index"
          [ngClass]="{'border-top':actionitem.HasSeperator}" 
          ng-click='ActionItemClicked(actionitem.MenuTitle,dataItem)'>
          <mat-icon>{{actionitem.MenuIcon}}</mat-icon> 
           {{actionitem.MenuTitle}}
        </a>
      </div>
    </mat-menu>
    <button mat-icon-button [matMenuTriggerFor]="actionMenu">
      <mat-icon>more_vert</mat-icon>
    </button>
  </ng-template>
</kendo-grid-column>

知道这里出了什么问题吗。

即使是简单的实现也不起作用,即菜单未关闭,代码如下:

<kendo-grid-column title="Menu Test">
  <ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex">
    <button mat-button [matMenuTriggerFor]="menu">Menu</button>
    <mat-menu #menu="matMenu">
      <button mat-menu-item>Item 1</button>
      <button mat-menu-item>Item 2</button>
    </mat-menu>
  </ng-template>
</kendo-grid-column>

菜单代码复制自Angular Material Page

终于找到问题所在了。对于自动调整列宽,我使用的函数 grid.autoFitColumn() 导致了这个问题,一旦删除问题就解决了。 但我仍然需要查看导致此问题的 autoFitColumn 中的内容。