通过自定义上下文菜单更新和删除 Ag-Grid

Update & Delete by Custom Context Menu Ag-Grid

我正在使用 ag-grid angular 2.

我创建了一个包含删除和更新按钮的自定义上下文菜单。 在一个场景中,用户 select 一行或多行,然后右键单击并单击删除或更新按钮。

这些按钮调用一些使用 gridOptions 处理的函数以获得 selected 行。

但是;当我单击删除或更新按钮时,出现错误提示 this.gripOptions 未定义。

有这方面的例子或文档吗? 我该如何克服这个问题?

感谢您的回复

    var gridOptions = {
        columnDefs: columnDefs,
        enableRangeSelection: true,
        getContextMenuItems: getContextMenuItems,
        allowContextMenuWithControlKey: true
    };
    getContextMenuItems(params) {
        var result = [
            { // custom item
                name: 'Delete',
                action: function () { this.delete()); }
            } 

    return result;
    }

    delete() {
        var selectedRows = this.gridOptions.api.getSelectedRows();
    }

这是因为您将 gridOptions 声明为变量,而不是其中的一部分。您可以做的是:

var vm = this;
vm.gridOptions={...}

[...]

 delete() {
    var selectedRows = vm.gridOptions.api.getSelectedRows();
}

这样你就不会涉及"this",这在Javascript中很难管理,但你对本地上下文有一定的参考