sapui5 - SAPUI5中attachBeforeOpenContextMenu事件的使用问题
问题描述
我想向我的列表组件触发上下文菜单事件。我正在使用以下编码,但它不起作用。我在哪里做错了?请让我知道我应该如何正确使用此事件。这是我的代码;我的列表组件:
<List
id="commentListView"
items="{/TicketItemModel/COMMENTS}"
visible="{/TicketCommentListVisibility}"
mode="SingleSelectMaster"
includeItemInSelection="true"
class="todo-comment-list">
{/* Items here.. */}
</List>
我的 controller.js 文件:
this.getView().byId("commentListView").attachBeforeOpenContextMenu(??,_this.handleShowCommentContextMenu(),??);
我不确切知道应该将哪些参数传递给函数
这是我调用的主要功能代码:
handleShowCommentContextMenu:function(oEvent){
var _this = this;
if(oEvent){
var listItemBase = oEvent.getSource();
if(!_this.popupMenu){
_this.popupMenu = new Menu({
items:[
new sap.ui.unified.MenuItem({
text:"Settings",
select:function(){
}
}),
]
})
_this.getView().addDependent(_this.popupMenu);
}
var eDock = sap.ui.core.Popup.Dock;
_this.popupMenu.open(false, listItemBase, eDock.BeginTop, eDock.BeginBottom, listItemBase);
}
}
解决方案
正如您可以在此处阅读的:
https ://sapui5.hana.ondemand.com/1.54.8/#/api/sap.m.ListBase/methods/attachBeforeOpenContextMenu
该函数的参数如下:
attachBeforeOpenContextMenu(oData?, fnFunction, oListener?)
第?
一个和第三个参数后面是可选的指标。
这意味着,即使没有它们,您的代码也可以正常工作。
oListener
是一个对象(如链接中的文本所示)将事件置于上下文中。您甚至可以在代码中使用默认值sap.m.ListBase
( oEvent
)
用于调用事件处理程序的上下文对象。默认为此 sap.m.ListBase 本身
oData
是那种模型端来的oListener
。虽然oListener
是将事件放入上下文的控制元素,但oData
对象是将事件放入上下文的数据。
我希望我能为你澄清事情。
推荐阅读
- laravel - Laravel - .TXT 文件在上传时被转换为 .BIN
- python - 为我正在为学校制作的 python Pass 程序制作下拉菜单
- reactjs - 子组件API获取请求后重新渲染App组件?
- javascript - 如何从数组中删除单个对象
- powershell - 密码的字符串操作
- python - 求解具有十进制 x 值的公式并绘制结果
- sql - SQL Server 中子查询末尾的“t”是什么意思
- amazon-web-services - 保护与 AWS 服务器实例通信的客户端
- angular - AbstractControl 类型的参数不能分配给字符串类型的参数
- python - 其他文件中的异步事件