如何在日期字段中将日期的默认值设置为下周六?

How to set default value of the date to be next Saturday in the datefield?

如何在下面的代码中设置Value和minValue 属性为下一个星期六?

我想在日期字段中,默认显示日期是星期六的日期。假设今天是 08/09/2018,默认值显示应该是 08/11/2018。你可以在 Sencha fiddler 中 运行 下面的代码:

Ext.application({
  name: 'Fiddle',

  launch: function() {
    Ext.create('Ext.form.field.Date', {
      value: Ext.Date.add(new Date, Ext.Date.DAY, 6), // defaults to today
      minValue: Ext.Date.add(new Date(), Ext.Date.DAY, 6),
      renderTo: Ext.getBody()
    });
  }
});

这是一个类似这样的工作版本:

Ext.application({
  name: 'Fiddle',
  launch: function() {

    function getNextDayOfWeek(date, dayOfWeek) {
      var resultDate = new Date(date.getTime());
      resultDate.setDate(date.getDate() + (7 + dayOfWeek - date.getDay()) % 7);
      return resultDate;
    }

    var nextSaturday = getNextDayOfWeek(new Date(), 6)

    Ext.create('Ext.form.Panel', {
      renderTo: Ext.getBody(),
      width: 300,
      bodyPadding: 10,
      title: 'Date',
      items: [{
        xtype: 'datefield',
        anchor: '100%',
        fieldLabel: 'From',
        name: 'from_date',
        value: nextSaturday,
        minValue: nextSaturday
      }]
    });
  }
});

您可以看到它的实际效果 here. The key is the getNextDayOfWeek function which comes from here