2017-05-03 69 views
0

我在Extjs 4.2中工作,并遇到有关datefield的问题。我想将字段的默认值设置为特定的日期,但是当用户单击触发器以显示日期选择器小部件时,我希望日期选择器使当前日期突出显示。我曾尝试在'expand'事件处理程序的字段中使用setValue方法,但是这会更改datefield本身中我不想发生的值。有什么办法可以做到这一点?为日期选择器赋予与datefield值不同的默认值吗?

回答

0

将datepicker的activeDate成员设置为当前日期,然后更新选择器以显示突出显示的日期。这是在展开事件中完成的。

expand: function(field, opts) { 
         field.picker.activeDate = new Date(); 
         field.picker.update(null, false); 
        } 

在下面的例子中,日期设置为1月1日。当选取器展开时,它将设置为今天。

Ext.create('Ext.form.Panel', { 
      renderTo: Ext.getBody(), 
      width: 300, 
      bodyPadding: 10, 
      title: 'Dates', 
      items: [{ 
       xtype: 'datefield', 
       anchor: '100%', 
       fieldLabel: 'From', 
       name: 'from_date', 
       value: new Date(2017,0,1), 
       listeners: { 
        expand: function(field, opts) { 
         field.picker.activeDate = new Date(); 
         field.picker.update(null, false); 
        } 
       } 
      }] 
     });