4

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

private trash() {
  this.gridView.data.splice(index, 1);
  //I wish to refresh here
}
4

2 回答 2

5

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

data.splice(index, 1);
this.gridView.data = data;

↑<strong>这是触发变更检测和更新网格的首选方式。↑</p>

或者,如果您只想修改底层数据,则必须手动通知 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()
    }

一般来说,我建议您通过网络阅读 Angular 2 如何执行更改检测以及如何在需要时手动触发它。

于 2016-12-04T12:48:34.327 回答
1
data.splice(index, 1);
this.gridView.data = data;

不使用分页选项

于 2017-07-05T13:38:36.730 回答