繁体   English   中英

Angular 2 Grid dataBound 事件的 Kendo UI

[英]Kendo UI for Angular 2 Grid dataBound event

有没有一种方法可以捕获网格的 dataBound 事件,类似于我们在 jQuery 版本的 Kendo UI 中使用的那个事件。 我需要在数据加载到网格后执行一个操作。

有一个 dataStateChange 事件,但在初始加载期间不会触发此事件。

目前,我正在使用超时函数来延迟执行,但这不是一个永久可靠的解决方案。

谢谢你。

我认为为此使用 Angulars 内置工具就足够了。

首先,建议为网格创建一个新组件:

网格组件.html

<kendo-grid [data]="tableData" #myTable>
  <kendo-grid-column field="ListItem" title="List Item">
      <ng-template kendoGridCellTemplate let-dataItem>
        {{ dataItem.title }}
      </ng-template>  
  </kendo-grid-column>
</kendo-grid>

Angular 的ngAfterViewInit生命周期钩子将在 init 后触发:

grid.component.ts

import { AfterViewInit, Component, ElementRef, Input, ViewChild } from '@angular/core';

@Component({
  selector: 'app-table',
  templateUrl: `./table.component.html`,
})
export class TableComponent implements AfterViewInit  {
  @ViewChild('myTable') myTable: ElementRef;

  public ngAfterViewInit() {
    console.log('loaded', this.myTable);
  }

  public tableData = [
    { title: 'Number 1', id: 'one'},
    { title: 'Number 2', id: 'two'},
  ];
}

这是一个 Stackblitz

如果数组的内容发生变化,我们希望选择AfterContentChecked ,它会在每次类成员发生变化并detectChanges之后运行,也就是说,当内容在组件的生命周期中重新呈现时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM