基于sap.f.FlexibleColumnLayout创建自定义OpenUI5控件

2020-08-21 13:32发布

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

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


大家好!

使用最新的SAP OpenUI5框架,是否可以创建扩展现有控件 sap.f.FlexibleColumnLayout 的自定义控件?

通常,我本来希望有类似

的东西
 sap.ui.define([
    " sap/f/FlexibleColumnLayout"
 ],功能(控件){
    "使用严格";
    返回Control.extend(" mynamespace.control.mycontrol",{});
 }; 

可以解决问题。 但是,当我尝试在某些视图中使用它时,例如 通过

 
    
      
      
  

然后我得到

错误:如果没有为控件mynamespace.mycontrol定义默认聚合,就无法添加直接子级

当我仅复制原始源代码(并进行一些直接修改)时,甚至会遇到相同的错误,并且当我尝试手动设置聚合字段时,我也没有取得任何重大进展(因为 那么我能得到的最好的结果就是错误:无法加载'sap/f/beginColumnPages.js'... )。 有人知道在这里做什么吗?

非常感谢您的帮助!

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

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


大家好!

使用最新的SAP OpenUI5框架,是否可以创建扩展现有控件 sap.f.FlexibleColumnLayout 的自定义控件?

通常,我本来希望有类似

的东西
 sap.ui.define([
    " sap/f/FlexibleColumnLayout"
 ],功能(控件){
    "使用严格";
    返回Control.extend(" mynamespace.control.mycontrol",{});
 }; 

可以解决问题。 但是,当我尝试在某些视图中使用它时,例如 通过

 
    
      
      
  

然后我得到

错误:如果没有为控件mynamespace.mycontrol定义默认聚合,就无法添加直接子级

当我仅复制原始源代码(并进行一些直接修改)时,甚至会遇到相同的错误,并且当我尝试手动设置聚合字段时,我也没有取得任何重大进展(因为 那么我能得到的最好的结果就是错误:无法加载'sap/f/beginColumnPages.js'... )。 有人知道在这里做什么吗?

非常感谢您的帮助!

付费偷看设置
发送
4条回答
N-Moskvin
1楼 · 2020-08-21 14:17.采纳回答

现在beginColumnPages聚合也是新的自定义控件的一部分,因此您必须提及自定义名称空间,例如您对自定义控件的提及。

  

谢谢

Mahesh

风早神人
2楼-- · 2020-08-21 14:24

现在就像一个魅力一样,非常感谢! 小提示:上述修复摆脱了原始错误消息。 为了使其完全正常工作,我还必须将FlexibleColumnLayoutRenderer.js文件复制并适当地重命名到包含我的自定义控件的目录中(否则将出现另一条错误消息)。 最后一步可能使我的解决方案不是最优雅的,但是对于我当前的目的仍然可以接受。

四川大学会员
3楼-- · 2020-08-21 14:27

如果不需要更改renderer.js,则无需复制它。 。 您只需要这样做。

 sap.ui.define([
    " sap/f/FlexibleColumnLayout"
 ],功能(控件){
    "使用严格";
    返回Control.extend(" mynamespace.control.mycontrol",{
       渲染器:{}
    });
 }; 
SAP小黑
4楼-- · 2020-08-21 14:18

看上去确实比我以前的解决方案优雅得多。 谢谢提示!

一周热门 更多>