【问题标题】:Update & Delete by Custom Context Menu Ag-Grid通过自定义上下文菜单 Ag-Grid 更新和删除
【发布时间】:2018-01-09 21:00:03
【问题描述】:

我正在使用角度为 2 的 ag-grid。

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

这些按钮通过 gridOptions 调用一些函数来获取选定的行。

但是;当我单击删除或更新按钮时,出现一个错误,提示 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();
    }

【问题讨论】:

  • 你能添加一些代码sn-ps来帮助调试还是你只是在寻找一个通用的来源?
  • 当然,不过我可以添加来代码;似乎这是 ag-grid 的普遍问题。据我了解,自定义上下文菜单已准备好,无法与任何其他外部代码联系。我曾尝试使用我在 .ts 中定义的变量,但同样,错误提示该变量未定义。

标签: javascript ag-grid ag-grid-ng2


【解决方案1】:

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

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

[...]

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

这样你就不用关联“this”了,这在Javascript中很难管理,但是你对本地上下文有一定的参考

【讨论】:

猜你喜欢
  • 2015-05-16
  • 1970-01-01
  • 2018-07-03
  • 2019-08-06
  • 2021-01-11
  • 2019-07-07
  • 2015-02-06
  • 2018-02-19
  • 2013-10-11
相关资源
最近更新 更多