2013-11-27 66 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