升级后的UI5自定义控件未调用init方法

2020-08-30 06:15发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

目前,我正面临一个使我有些头疼的问题,我想知道是否有人遇到过这个问题,或给出了解决方法的提示。

我们正在将内部部署系统上的SAP网关从SAP UI5版本1.44更新到1.60.19。

在更新我的自定义控件之前,该控件是Control sap.m.TextArea的增强功能,可以正常工作。

 var oZTextArea = sap.m.TextArea.extend(" com.mybusiness.f.mylib.controls.ZTextArea",{
 ...
 }
 oZTextArea.prototype.init = function(){
//super.init(); //不起作用
//从sap.m.TextArea复制以使其正常工作
 var oCounter = new sap.m.Text(this.getId()+" -counter",{})。addStyleClass(" sa pMTextAreaCounter")。setVisible(false);
 this.setAggregation(" _ counter",oCounter);
 };
 

更新后,由于在sap.m.TextArea的init方法中创建的一个缺少的属性,它无法运行。 似乎以某种方式不再触发sap.m.TextArea的init方法。

最后,我通过在自定义控件的init方法中创建缺少的属性来解决了该问题。

所以我想知道为什么不再调用sap.m.TextArea的init方法,并且如果我必须自己使用super自己做的话,还有一种方法可以调用init方法sap.m.TextArea。 init()对我不起作用。

周末愉快,谢谢您的帮助。

最好的问候

斯蒂芬

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

目前,我正面临一个使我有些头疼的问题,我想知道是否有人遇到过这个问题,或给出了解决方法的提示。

我们正在将内部部署系统上的SAP网关从SAP UI5版本1.44更新到1.60.19。

在更新我的自定义控件之前,该控件是Control sap.m.TextArea的增强功能,可以正常工作。

 var oZTextArea = sap.m.TextArea.extend(" com.mybusiness.f.mylib.controls.ZTextArea",{
 ...
 }
 oZTextArea.prototype.init = function(){
//super.init(); //不起作用
//从sap.m.TextArea复制以使其正常工作
 var oCounter = new sap.m.Text(this.getId()+" -counter",{})。addStyleClass(" sa pMTextAreaCounter")。setVisible(false);
 this.setAggregation(" _ counter",oCounter);
 };
 

更新后,由于在sap.m.TextArea的init方法中创建的一个缺少的属性,它无法运行。 似乎以某种方式不再触发sap.m.TextArea的init方法。

最后,我通过在自定义控件的init方法中创建缺少的属性来解决了该问题。

所以我想知道为什么不再调用sap.m.TextArea的init方法,并且如果我必须自己使用super自己做的话,还有一种方法可以调用init方法sap.m.TextArea。 init()对我不起作用。

周末愉快,谢谢您的帮助。

最好的问候

斯蒂芬

付费偷看设置
发送
2条回答
jovirus
1楼 · 2020-08-30 06:30.采纳回答

Peter Muessig 来自Twitter:

自UI5 1.48.0起,sap.m.TextArea具有init方法来正确处理TextArea的大小调整:https://github.com/SAP/openui5/commit/4080752539a7f6ae906563f196bcccdb93fe22ff -派生控件impl。 init方法需要通过以下方式调用原始TextArea init方法:sap.m.TextArea.prototype.init.apply(this,arguments);

原始推文:

https://twitter.com/pmuessig/status/1196881389821550593?s=21

hongfeng1314
2楼-- · 2020-08-30 06:37

这解决了我的问题,再次非常感谢!

一周热门 更多>