2017-10-06 43 views
0

我有一個格式化函數很奇怪的問題。SAPUI5格式化函數返回其參數

我有以下格式:

_formatter: function(sAccessLevel){ 
    switch(sAccessLevel){ 
     case "fullAccess": 
      return true; 
     case "readOnly": 
      return false; 
     case "norefund": 
      return false; 
     case "nodiscount": 
      return false; 
     default: 
      return false; 
    } 
}, 

用於以下領域:

<Column visible="{path: 'modelName>/Access', formatter: '_formatter'}" > 
    <header hAlign="Middle" vAlign="Middle"> 
     <Text text="{i18n>discount}" textAlign="Center"/> 
    </header> 
</Column> 

而且在try-catch塊我有時會收到以下錯誤:

Error: "nodiscount" is of type string, expected boolean for property "visible" of Element sap.m.Column#__column154

Error: "fullAccess" is of type string, expected boolean for property "visible" of Element sap.m.Column#__column489

當我試圖重現錯誤,代碼工作正常,但在生產系統的日誌我看到上面的錯誤。

這個錯誤可能性如何?

謝謝。

+0

格式化程序裏面試試'return(sAccessLevel && sAccessLevel ===「fullAccess」)? true:false;' – inizio

回答

2

它是一個簡單的錯誤。在給予格式化器XML查看,我們必須給.formatterFunctionName如下。

<Column visible="{path: 'modelName>/Access', formatter: '._formatter'}" > 
    <header hAlign="Middle" vAlign="Middle"> 
     <Text text="{i18n>discount}" textAlign="Center"/> 
    </header> 
</Column> 

在控制器中像往常一樣執行您的格式化程序功能。