gpt4 book ai didi

ExtJS DateField - 初始化日期

转载 作者:行者123 更新时间:2023-12-01 11:52:22 26 4
gpt4 key购买 nike

我有一个 ExtJS 日期字段。在应用程序的某些操作期间,最小值和最大值被分配给日期字段。最小值和最大值比当前日期早 4 年,但是当日期选择器打开时,它会打开禁用的当前日期。用户必须手动向后滚动 4 年才能选择日期。无论如何,我可以通过显示最小值和最大值之间的日期来更新日期选择器以打开?

添加代码:

cmpDt.setMinValue(new Date(2000, 0, 1));
cmpDt.setMaxValue(new Date(2004, 0, 1));

这会设置最小值和最大值。我不能使用 setValue() 因为它会初始化/更改文本字段。我希望文本字段仅在从日期选择器中进行选择时获取值。

谢谢

最佳答案

您必须使用 Ext.form.field.DateViewvalue 属性设置初始值:

{
...,
minValue: new Date(2000, 0, 1),
maxValue: new Date(2004, 11, 31),
value: new Date(2002, 5, 15),
...
}

EDIT 在来自 OP 的更多信息之后:

您可以覆盖初始化选择器上的值的 onExpand 方法。原始的看起来像(假设您使用 ExtJS 4 - 但 3 应该没有太大的不同):

...,
onExpand: function() {
var value = this.getValue();
this.picker.setValue(Ext.isDate(value) ? value : new Date());
},
...

您可以重写方法来读取:

...,
onExpand: function() {
var value = this.getValue(),
myDefaultDate = /* do some processing to determine the default date*/;
this.picker.setValue(Ext.isDate(value) ? value : myDefaultDate);
},
...

只需将覆盖添加到初始表单字段配置。

关于ExtJS DateField - 初始化日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10241626/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com