2017-02-16 9 views
2

ExtJs 6.2.0近代的なツールキットでは、DatePickerは3つのスロット(曜日、月、年)を持っています。しかし、私は実際には、通常の日付ピッカーのように、各日付の曜日を知る必要があります。

既存のDatePickerをオーバーライドして、週末を強調表示したり、曜日の近くの曜日を書き込んだりすることはできますか?extjsを上書きする方法最新のDatePicker

答えて

0

私は、スロットが変更されるたびに日のテキストを変更するカスタム日付ピッカーを使用してこの問題を解決しました。

Ext.define('App.field.DateDayPicker', { 
    extend: 'Ext.field.DatePicker', 
    alias: 'widget.datepickerdayfield', 

    requires: [ 
     'App.picker.DateDay' 
    ], 

    picker: { 
     xtype: 'datepickerday' 
    } 
}); 

 

Ext.define('App.picker.DateDay', { 
    extend: 'Ext.picker.Date', 
    alias: 'widget.datepickerday', 

    onSlotPick: function() { 
     this.callParent(arguments); 

     var value = this.getValue(); 
     var store = this.daySlot.getStore(); 

     store.each(function (day) { 
      var dayDate = day.get('value'); 
      var year = value.getFullYear(); 
      var month = value.getMonth(); 
      var date = new Date(year, month, dayDate); 
      var text = Ext.Date.format(date, 'j D'); 

      day.set('text', text); 
     }); 
    } 
}); 
関連する問題