SAPUI5格式化程序函数返回其参数

时间:2017-10-06 12:14:31

标签: sapui5 formatter

格式化程序函数我有一个非常奇怪的问题。

我有以下格式化程序:

_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

当我尝试重现错误时,代码工作正常,但在生产系统的日志中,我看到了上述错误。

这个错误怎么可能?

谢谢。

1 个答案:

答案 0 :(得分:2)

这是一个简单的错误。在 XML视图中提供格式化程序时,我们必须提供 .formatterFunctionName ,如下所示。

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

在控制器中照常实现格式化程序功能。