扩展sap.m中的事件。表不能触发

时间:2015-08-05 11:19:40

标签: javascript sapui5

我正在尝试扩展this article之后的sap.m.Table控件 一切都很好。控件正在呈现并正确显示所有内容。

但事件不会被解雇。 我错过了什么?我是否必须参加其他活动?我以为我可以覆盖sap.m.Table控件的onItemPress事件并以我想要的方式增强它,因为我不需要原始功能。

任何指向解决方案的指针都将受到赞赏。

在尝试扩展控件之前,我已经尝试使用.addEventDelegat()来挂钩onItemPress事件,这也不起作用。

我的扩展控件:

sap.m.Table.extend("CollapsableGroupTable",{
    metadata:{
       events:{
          "groupCollapse" : {}
       }
    },

    onItemPress : function(evt) {
        this.fireGroupCollapse();
    },
    renderer : {}
});

我的控制实例:

var oTable = new CollapsableGroupTable({
            columns : [
                <some columns>
            ],
            items : {
                path: "<somePath>",
                sorter : <someSorter>,
                factory : <someFactoryFunction>
            },
            groupCollapse : function(){console.log("group collapse event fired");},
        });

编辑:为了澄清,不起作用的事件的覆盖与项目类型相关。我尝试使用主动和非主动。

2 个答案:

答案 0 :(得分:1)

onItemPress是一个外部事件。

您应该检查sap.m.Table中哪个函数正在触发该事件并覆盖该函数以触发您的事件。

答案 1 :(得分:0)

默认情况下,ListItem的type属性将处于非活动状态,因此将忽略itemPress事件。将ListItem类型更改为“活动”。

https://sapui5.netweaver.ondemand.com/sdk/#docs/api/symbols/sap.m.ListBase.html#event:itemPress

https://sapui5.netweaver.ondemand.com/sdk/#docs/api/symbols/sap.m.ListType.html