首页 文章

在Angular 2中刷新Kendo网格

提问于
浏览
3

当数据发生变化时,如何刷新Angular 2 Kendo网格?

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

2 回答

  • 2

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

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

    This is the preferred way to trigger change detection and update the grid.

    或者,如果您只想修改基础数据,则必须手动通知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如何执行变更检测以及如何在需要时手动触发变更检测 .

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

    不使用分页选项

相关问题