通过自定义上下文菜单更新和删除 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中很难管理,但你对本地上下文有一定的参考
我正在使用 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中很难管理,但你对本地上下文有一定的参考