Inline cellRenderer
следует использовать только для простых случаев.Чтобы добиться обработки нажатием кнопки внутри собственной cellRenderer
, вам нужно создать component
для этого.
Ваш компонент будет выглядеть так:
@Component({
selector: 'custom-button-cell',
template: `<button [disabled]="!params.node.data.enableButton" (click)="handleClick()">{{params.value}}</button>`,
styles: [``]
})
export class ConditionalRenderer implements ICellRendererAngularComp {
private params: any;
agInit(params: any): void {
this.params = params;
}
refresh(): boolean {
return true;
}
handleClick() {
alert(`Clicked: ${this.params.value}`);
}
}
Здесьэто сработало plnkr
Не забывайте, что ваш component
должен быть включен в frameworkComponents
внутри gridOptions
или как [frameworkComponents]
html атрибут.