我想要一个没有默认值的日期时间选择器控件.似乎不再可能:-(
要重现,请创建一个空白XPage并放置一个日期时间选择器控件.在浏览器中打开XPage,您将看到它默认为今天.
我没有找到任何方法将默认值设置为空值.我尝试将所有属性/ data/default设置为0,null,空字符串等等 - 没有运气.
我尝试了data-dojo-probs属性值:'',这将默认值设置为1970-1-1,但不是空白.
有任何想法吗?
这是ND9中的一个已知问题,报告为SPR DEGN966F5V.
解决该问题(来自SPR)是在postCreate函数中修改小部件原型以防止重置该值.
require([
"dojo/_base/lang",
"ibm/xsp/widget/layout/DateTextBox",
"ibm/xsp/widget/layout/TimeTextBox",
"ibm/xsp/widget/layout/DateTimeTextBox"
], function(lang, DateTextBox, TimeTextBox, DateTimeTextBox){
var a = {};
lang.mixin(a, {
postCreate: function(){
this.inherited(arguments);
}
});
DateTextBox.extend(a);
TimeTextBox.extend(a);
DateTimeTextBox.extend(a);
});
Run Code Online (Sandbox Code Playgroud)
这是一个工作的例子.
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.resources>
<xp:script clientSide="true">
<xp:this.contents><![CDATA[
require([
"dojo/_base/lang",
"ibm/xsp/widget/layout/DateTextBox"
], function(lang, DateTextBox){
var a = {};
lang.mixin(a, {
startup: function(){
this.inherited(arguments);
this.set("value", null);
}
});
DateTextBox.extend(a);
});
]]></xp:this.contents>
</xp:script>
</xp:this.resources>
<xp:inputText id="inputText1" value="#{sessionScope.inputText1}">
<xp:this.converter>
<xp:convertDateTime type="date" />
</xp:this.converter>
<xp:dateTimeHelper />
</xp:inputText>
</xp:view>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2409 次 |
| 最近记录: |