我正在使用角度为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();
}
答案 0 :(得分:0)
这是因为您将gridOptions声明为变量,而不是其中的一部分。你能做的是:
var vm = this;
vm.gridOptions={...}
[...]
delete() {
var selectedRows = vm.gridOptions.api.getSelectedRows();
}
这样你就不会涉及“这个”,这在Javascript中难以管理,但你对本地环境有一定的参考