Кнопка удаления ag-grid angular2 - PullRequest
0 голосов
/ 30 апреля 2018

Я пытаюсь добавить кнопку удаления для списка элементов в таблице ag-grid.

Я создал компонент для кнопки и могу удалить строку с помощью

...

export class AgGridButtonDeleteComponent implements ICellRendererAngularComp

...

deleteFunc(){
    this.params.api.selectIndex(this.params.node.rowIndex);
    var selectedData = this.params.api.getSelectedRows();
    this.params.api.updateRowData({remove: selectedData});

...

но мне также нужно вызвать службу для фактического удаления данных поэтому я попытался включить службу в компоненте кнопки

this.myService.deleteRow(this.value).subscribe(
response => {
    if(response){
        this.params.api.selectIndex(this.params.node.rowIndex);
        var selectedData = this.params.api.getSelectedRows();
        this.params.api.updateRowData({remove: selectedData}); 
    }
}

);

но я получаю эту ошибку: Свойство deleteButtonRenderer несовместимо с подписью индекса. Тип typeof AgGridButtonDeleteComponent не сопоставим с типом new () => any '.

какие-либо предложения о том, как я могу это сделать? Я использую ag-grid 16.0.0 и angular 6, все примеры, которые я нашел, предназначены для угловых 1

спасибо

1 Ответ

0 голосов
/ 30 апреля 2018

Возможное решение:

в столбце def add

onCellClicked: function (params) {
 this.deleteRow(params.data.Id)
 params.api.selectIndex(params.node.rowIndex);
 var selectedData = params.api.getSelectedRows();
 params.api.updateRowData({remove: selectedData}); 
}.bind(this)

не забудьте связать (это), иначе функция deleteRow не будет видна

...