2017-05-03 82 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); 
        } 
       } 
      }] 
     });