在Angular 2中刷新Kendo网格

ed-*_*ter 4 kendo-ui kendo-grid kendo-ui-angular2 angular

更改数据后,如何刷新Angular 2 Kendo网格?

private trash() {
  this.gridView.data.splice(index, 1);
  //I wish to refresh here
}
Run Code Online (Sandbox Code Playgroud)

Gen*_*eev 5

如果将修改后的数据重新分配给网格的data属性,这将触发自动更改检测,并且一切都会按预期进行。例如:

data.splice(index, 1);
this.gridView.data = data;
Run Code Online (Sandbox Code Playgroud)

这是触发更改检测和更新网格的首选方法。

另外,如果您只想修改基础数据,则必须手动将更改通知Angular。在Angular 2中有几种触发更改检测的方法。例如,您可以将ChangeDetector注入组件的构造函数中并调用detectChange。例:

import { Component, OnInit, ChangeDetectorRef } from '@angular/core';    

constructor(private cd: ChangeDetectorRef) {
    }

    private trash() {
      this.gridView.data.splice(index, 1);
      this.cd.detectChanges()
    }
Run Code Online (Sandbox Code Playgroud)

通常,我建议您在网上阅读Angular 2如何执行更改检测以及如何在需要时手动触发它。