2013-11-27 64 views
2

我正在开发用于UI5的组件。在元数据 - >属性部分,我想定义一个Integer类型的属性。如果我通过"markerSize" : {type:"integer",defaultValue:"25"}(或任何其他变体,如整数,数字,数字)设置数据类型,则会收到“in”无法访问50(当前值)的错误消息。将数据类型更改为字符串正在工作。在SAP的例子中,我只能找到“string”和“sap.ui.core.CSSSize”作为数据类型。我怎样才能定义数值?是否有支持的数据类型的列表和正确的定义?SAP UI5组件开发元数据数据类型

KR, 尼科

回答

4

如果您使用int数据类型,那么你的默认值不应该是一个字符串(虽然它不会造成错误...)。你的问题是,你不得不使用“整数”而不是“整数”。所以请试试这里:

{ type:"int",defaultValue: 25 } 

这应该工作。此代码为我工作:

<script> 

    sap.ui.core.Control.extend("my.Control", { 
     metadata : { 
      properties : { 
       "text" : "string", 
       "size" : {type: "int", defaultValue: 500 } 
      }, 
     }, 

     renderer : function(oRm, oControl) { 
      oRm.write("<div>size = "+oControl.getSize()+"</div>") 
     } 

    }); 

    var myControl = new my.Control({text:"Hello"}); 
    myControl.placeAt("content");   
</script>  

<body class='sapUiBody'> 
    <div id='content'></div> 
</body> 

我希望有所帮助。

+0

谢谢!解决了这个问题。 –

+0

我还有一个问题: 其他数据类型呢?数组或浮点数? –

+0

您可以在UI5文档中阅读此内容:属性至少由其名称和类型定义。此外,可以定义属性的默认值。所以可用设置为: 类型:Control属性的数据类型。自动类型验证在UI5内核中完成。有效类型的示例如下: 字符串属性(默认值), int或浮点数字属性, int []等数组, sap.ui.core.CSSSize自定义类型 – cevou