我想编写自己的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
});
开发者控制台仅返回一个错误:
未捕获的TypeError:无法读取未定义的属性'forEach'
有谁知道如何正确扩展sap.m.ColumnListItem控件?
最佳答案
感谢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);
}
});