在我的流程中,我们有一个截止日期,即日期。但是直到达到特定状态才设置该日期。说我想在设置日期之前显示此日期,但它仍是初始的。
日期以字符串形式返回,因此在我的模型中为00000000。(我知道字符串不是日期,但这是选择的,我必须使用它。)
这是控件:
<DatePicker type="Date" placeholder="{i18n>DateStateUnknown}"
enabled="{
parts : [
{path : 'settings>/incidentLock/MayChangeResponsible'},
{path : 'DeadlineDate'}
], formatter: 'com.company.inc.util.Formatter.mayChangeDeadline' }"
displayFormat="long"
value="{path:'DeadlineDate',
type: 'sap.ui.model.type.String',
constraints: { minLength : 2},
formatter: 'com.company.inc.util.Formatter.setBaseDate'}"
valueFormat="yyyyMMdd" />
我的格式化程序如下所示:
setBaseDate: function(val){
try{
if(val=="00000000"){
return "";
}else{
return val;
}
}catch(e){
return "";
}
},
diplay符合预期。日期为空时不显示任何内容。唯一的事情是,使用此格式化程序,我失去了与odata模型的连接。这意味着无论何时更改值,它都不会反映在odata模型中,因此无法保存此日期。当我第一次设置一个值,而控件仍然为空时,情况也是如此。
有人知道如何解决此问题吗?我宁愿不要将其他选项视为隐藏字段。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句