Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在UI5中使用格式化程序函数后,视图未呈现_Javascript_Sapui5_Formatter - Fatal编程技术网

Javascript 在UI5中使用格式化程序函数后,视图未呈现

Javascript 在UI5中使用格式化程序函数后,视图未呈现,javascript,sapui5,formatter,Javascript,Sapui5,Formatter,我正在为日期使用格式化程序函数,日期类型为字符串。我想在验证后以yyyy/mm/dd格式显示它,比如说,如果值是“不可用”它应该显示为空[视图正在渲染] 如果不是,我应该以YYYY/MM/DD格式显示。因此,我对时间值进行了切片,并在调试器中返回我期望的值,但视图没有呈现 其他格式化程序功能正在运行。问题是在使用Slice函数之后出现的 查看 <Text text="{ path:'FORMULATIONDATE', formatter:'.getFormulation'}" wrappi

我正在为日期使用格式化程序函数,日期类型为字符串。我想在验证后以
yyyy/mm/dd
格式显示它,比如说,如果值是
“不可用”
它应该显示为空[视图正在渲染]

如果不是,我应该以
YYYY/MM/DD
格式显示。因此,我对时间值进行了切片,并在调试器中返回我期望的值,但视图没有呈现

其他格式化程序功能正在运行。问题是在使用Slice函数之后出现的

查看

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

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

解决方案1:使用型号

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

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

您能提供一些代码吗?视图、格式化程序和视图中绑定(格式化前)的数据示例:控制器:getFormulation:function(FORMULATIONDATE){debugger;FORMULATIONDATE=FORMULATIONDATE.slice(0,10);返回FORMULATIONDATE==“TimeUnavailable”?null:FORMULATIONDATE;}日期:“09/05/2017 04:00:00”
<Text text="{path: 'FORMULATIONDATE', type: 'sap.ui.model.type.DateTime', 
      formatOptions: {pattern:'yyyy/mm/dd', UTC: true}}" /> <!--update your format -->
<Text text="{path: 'FORMULATIONDATE', formatter: 'formatter.formatDate'}" />
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;
    }
}