带有角度复选框更改的ag-grid无法在模型中更新

时间:2018-11-13 21:27:41

标签: angular ag-grid

我正在使用角度为6的ag网格社区版本。我有一个字符(Y / N)作为json响应中的属性之一。我可以在用户界面中显示选中的值

cellRenderer: params => {
    return `<input type='checkbox' ${params.value == 'Y' ? 'checked' : ''} />`;
}

当我更改UI中的值时,rowData不会更新。我试图(change)=“ onChange($ event)”,但似乎不起作用。我需要编写自定义的“单元格渲染”并调用一些Ag Grid API来注册更改吗?

任何代码示例都将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:0)

这对我有用

import {Component} from "@angular/core";

    import {ICellRendererAngularComp} from "ag-grid-angular";

    @Component({
      selector: 'checkbox-cell',
      template: `<input type='checkbox' [checked]="params.value == 'Y' ? true : false" (click)="checkedVal()">`
    })
    export class CheckboxComponentRenderer implements ICellRendererAngularComp {
      public params: any;

      agInit(params: any): void {
        this.params = params;
      }

      public checkedVal() {
        console.log(this.params.node.data);
        this.params.value = this.params.value == 'Y' ? 'N' : 'Y';
        this.params.node.data.valid = this.params.value;
        console.log('checkVal - ' + this.params.value);
      }

      refresh(): boolean {
        console.log('in refresh');
        return false;
      }
    }