我可以动态更改Dijit DateTextBox
的某些约束,但是当我尝试更改datePattern
时,它就无法正常工作。例如:
var theDateWidget = dijit.byId(/*RefToDateTextBox*/);
theDateWidget.constraints.max = new Date(); // works fine... :)
theDateWidget.constraints.datePattern = "yyyy"; // does not work, it also harms the DateTimeTextBox widget, I cannot select any value from drop down anymore
我首先在创建时设置了datePattern = "dd/MM/yyyy"
小部件,然后在代码中我决定将该模式更改为"yyyy"
任何人都知道如何动态更改datePattern
DateTextBox
小部件,比如点击按钮。
答案 0 :(得分:0)
要更新窗口小部件的约束,您应该设置其约束'属性。假设您只想更新日期模式而不影响其他约束,那么您可以:
var constraints = theDateWidget.get('constraints');
constraints.datePattern = 'yyyy';
theDateWidget.set('constraints', constraints);
执行此操作比直接修改窗口小部件属性的内部更安全,因为窗口小部件在更新其属性时通常需要执行其他步骤。
另请注意,datePattern
用于解析输入值和格式化窗口小部件的值以进行显示。如果它设置为不完整的模式,例如" yyyy",则小部件的功能将受到严格限制(它只能理解年份值,而不是完整日期)