【问题标题】:ag-grid with angular checkbox change not getting updated in model带有角度复选框更改的 ag-grid 未在模型中更新
【发布时间】:2018-11-17 00:08:48
【问题描述】:

我正在使用 angular 6 的 ag grid 社区版本。我有一个字符 (Y/N) 作为 json 响应中的属性之一。我能够在 UI 中显示选中的值

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

当我在 UI 中更改值时,rowData 没有得到更新。我试图 (change)="onChange($event)" 但似乎不起作用。我是否需要编写一个自定义的 Cell Rendered 并调用一些 ag grid api 来注册更改?

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

谢谢

【问题讨论】:

  • 仅当它是纯 html(只读)时才使用函数单元格渲染器。如果您希望单元格渲染器响应事件或包含角度指令,那么您应该实现自定义单元格渲染器组件
  • 检查this post,样品的完整细节

标签: angular ag-grid


【解决方案1】:

这对我有用

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;
      }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-03
    • 1970-01-01
    • 2021-01-28
    • 2021-01-10
    • 1970-01-01
    • 2019-07-09
    • 2015-05-30
    • 1970-01-01
    相关资源
    最近更新 更多