【问题标题】:How to extend sap.m.ColumnListItem如何扩展 sap.m.ColumnListItem
【发布时间】:2016-09-25 12:56:51
【问题描述】:

我想编写自己的 ColumnListItem 控件来添加拖放功能。

到目前为止,我已经这样做了:

$.sap.require('sap.m.ColumnListItem');
$.sap.declare('my.DraggableDelegate');
$.sap.declare('my.ColumnListItem');
my.DraggableDelegate = function(oControl) {
        this.oControl = oControl;
    };
    my.DraggableDelegate.prototype = { 
        onAfterRendering: function() {
            this.oControl.$().draggable({
                cancel: false
        });
    }
};
sap.m.ColumnListItem.extend("my.ColumnListItem", {
    renderer : {}, // actually I would rather like to get the ColumnListItem renderer but I don't know how ...
    init: function() {
        this.oDraggable = new my.DraggableDelegate(this);
        this.addDelegate(this.oDraggable);                
    }
    // something is still missing here I guess
});

开发者控制台只返回一个错误:

未捕获的类型错误:无法读取未定义的属性“forEach”

有人知道如何正确扩展 sap.m.ColumnListItem 控件吗?

【问题讨论】:

  • 你必须调用超类的init()

标签: javascript jquery sapui5 extend


【解决方案1】:

感谢hirse,我找到了丢失的行:

sap.m.ColumnListItem.extend("my.ColumnListItem", {
    renderer : {},
    init: function() {
        /*******/sap.m.ColumnListItem.prototype.init.apply(this); /******/
        this.oDraggable = new my.DraggableDelegate(this);
        this.addDelegate(this.oDraggable);                
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-22
    • 2018-08-22
    • 2011-06-09
    • 2010-10-09
    • 2014-01-28
    • 2012-02-16
    • 2012-01-24
    相关资源
    最近更新 更多