格式化程序函数我有一个非常奇怪的问题。
我有以下格式化程序:
_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 :(得分:2)
这是一个简单的错误。在 XML视图中提供格式化程序时,我们必须提供 .formatterFunctionName ,如下所示。
<Column visible="{path: 'modelName>/Access', formatter: '._formatter'}" >
<header hAlign="Middle" vAlign="Middle">
<Text text="{i18n>discount}" textAlign="Center"/>
</header>
</Column>
在控制器中照常实现格式化程序功能。