为Lumira Designer创建扩展

2020-09-24 09:40发布

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

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


我正在研究将数组传递给component.js函数的SDK扩展。 在调试模式下,阵列应在没有数据的情况下进行处理。 功能如下:

 this.tableheader = function(value){
 for(var int = 0; int 
 

这是tribution.xml属性:

 <属性
 id =" tableheader"
 title ="表头"
 type =" Array"
 group =" Display"/>
 

这是tribution.ztl(我都尝试过):

 void setHeader(Array value){*
     this.tableheader =值;
   *}

   void setHeader(StringArray value){*
     this.tableheader =值;
   *}
 

这是我在日食中遇到的错误:

TABLE_1.setHeader(test);"" java.lang.RuntimeException:java.lang.ArrayIndexOutOfBoundsException:0

Chrome在调试中具有相同的错误。

我可以将属性类型更改为字符串,然后发送

value ='["," data"," moredata"," more","]'

感谢您的帮助。

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

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


我正在研究将数组传递给component.js函数的SDK扩展。 在调试模式下,阵列应在没有数据的情况下进行处理。 功能如下:

 this.tableheader = function(value){
 for(var int = 0; int 
 

这是tribution.xml属性:

 <属性
 id =" tableheader"
 title ="表头"
 type =" Array"
 group =" Display"/>
 

这是tribution.ztl(我都尝试过):

 void setHeader(Array value){*
     this.tableheader =值;
   *}

   void setHeader(StringArray value){*
     this.tableheader =值;
   *}
 

这是我在日食中遇到的错误:

TABLE_1.setHeader(test);"" java.lang.RuntimeException:java.lang.ArrayIndexOutOfBoundsException:0

Chrome在调试中具有相同的错误。

我可以将属性类型更改为字符串,然后发送

value ='["," data"," moredata"," more","]'

感谢您的帮助。

付费偷看设置
发送
2条回答
暮风yp
1楼-- · 2020-09-24 10:12

贾斯汀,你好

我还没有详细检查您的问题,但是我想分享一下在阅读您的问题时想到的想法。 通常,将sdk属性值传递到js文件上的特定javascript模式以处理更新(一个函数中的getter和setter)。 看起来像这样:

 this.tableheader = function(value){
    如果(值===未定义){
 返回saveTableheader;
    }
    其他{
 saveTableheader =值;
    }
 };
 

因此,在您的情况下,您可以将警报代码放在else块上。 需要在js文件中全局定义saveTableHeader变量,以包含跨函数传递的值。

您的意思是当将属性类型从数组更改为字符串(或StringArray)时,警报块会提示您期望的消息吗?

亲切的问候

马丁

风早神人
2楼-- · 2020-09-24 10:00

贾斯汀,

我试图向您介绍在Studio组件的生命周期内DesignStudio框架如何调用函数的模式。

在第一次调用期间,该函数的值未定义,因此第一个if子句应处理" getter"部分。 我意识到,通过使用全局变量可以保留该属性的当前值。 第二个调用是"设置器"部分,其中函数的value参数包含来自设计器的值。

您上面的示例是将更新代码与属性值处理混合在一起。 更改每个属性后,将调用框架方法" afterUpdate"或" afterDesignStudioUpdate"(取决于您使用的sdk处理程序)。 您的逻辑应该在那里处理。

值得一看SAP的SDK示例。 它们中有一组很好的实现变体和模式。

亲切的问候

马丁

一周热门 更多>