日期字段的禁用日期对于'j / nY'日期格式不能正常工作?

时间:2019-01-29 09:49:19

标签: javascript extjs

预期输出:应该禁用日历日期2019年1月3日和2019年1月11日。

实际结果:日历显示多个禁用日期 即2019年1月1日

2019年1月11日

2019年1月21日

2019年1月31日

这是我的代码:

Ext.create('Ext.form.Panel', {
    renderTo: Ext.getBody(),
    width: 300,
    bodyPadding: 10,
    title: 'Dates',
    items: [{
        xtype: 'datefield',
        anchor: '100%',
        fieldLabel: 'From',
        name: 'from_date',
        format:'j/n/Y',
        disabledDates:["3/1/2019", "11/1/2019"],
        disabledDatesText:'holiday test',
        // maxValue: new Date()  // limited to the current date or prior
    }, {
        xtype: 'datefield',
        anchor: '100%',
        fieldLabel: 'To',
        name: 'to_date',
        value: new Date()  // defaults to today
    }]
});

结果图片:
result image

1 个答案:

答案 0 :(得分:0)

嗯。。似乎是与j格式或用于验证日期格式的正则表达式有关的错误。无论如何,由于disabledDate值是用于构建动态正则表达式的字符串,因此您可以使用^元字符作为变通方法来强制按照j格式正确匹配第一个数字:

disabledDates:['^1/1/2019','^8/1/2019']

经过ExtJS 6.6和6.2 Classic Toolkit的测试。

enter image description here