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;
}
}