在UI5中使用格式化程序功能后,视图未呈现

时间:2018-07-25 06:34:03

标签: javascript sapui5 formatter

我正在使用格式化程序函数作为String类型的日期。我想在验证后以yyyy/mm/dd格式显示它,说如果值是"Unavailable",它应该显示Blank [View is rendering]。

否则,我应该以{{1​​}}格式显示它。因此,我对“时间”值进行了切片,并在调试器中返回了我期望的值,但视图未呈现。

其他格式化程序功能正在运行。使用切片功能后出现问题。

查看

YYYY/MM/DD

控制器

<Text text="{ path:'FORMULATIONDATE', formatter:'.getFormulation'}" wrapping="false" />

1 个答案:

答案 0 :(得分:0)

考虑FORMULATIONDATE是服务中的日期对象。

解决方案1:使用模型类型

<Text text="{path: 'FORMULATIONDATE', type: 'sap.ui.model.type.DateTime', 
      formatOptions: {pattern:'yyyy/mm/dd', UTC: true}}" /> <!--update your format -->

解决方案2:使用格式化程序

XML视图

<Text text="{path: 'FORMULATIONDATE', formatter: 'formatter.formatDate'}" />

Formatter.js

jQuery.sap.require("sap.ui.core.format.DateFormat");
formatter = {
    formatDate: function(FORMULATIONDATE) {
        var dateFormat = sap.ui.core.format.DateFormat.getDateInstance({pattern : "dd.MM.YYYY"});//this is the default format
        if (FORMULATIONDATE == null) {  
            dateFormat = sap.ui.core.format.DateFormat.getDateInstance({pattern : "dd.MM.YYYY"});//update your format           
        } 
        var sFormatDate = dateFormat.format(FORMULATIONDATE);   
        return sFormatDate;
    }
}

注意:如果FORMULATIONDATE不是日期对象,则使用new Date(FORMULATIONDATE)