ExtJS:dateField - 如何禁用所有和启用一些动态数组日期
ExtJS: dateField - how to disable all and enable some dynamic array dates
如何禁用所有日历日期并从动态数组启用?
比如我有数组
['1.12.21', '25.11.21', '3.12.21', '8.10.21']
我应该禁用数组中除日期之外的所有日期 - 我该怎么做?
可以使用Ext.form.field.Date
disabledDates
配置,setDisabledDates
方法更新,见documentation。您在此处指定的数组将被解释为正则表达式,因此在您的情况下,您可以设置一个否定条件来禁用除某些日期之外的所有日期。
尝试下面的代码,也 this working fiddle。这适用于经典工具包,我不知道如何在现代工具包中做到这一点。
Ext.application({
name: 'Fiddle',
launch: function () {
const enabledDatesArray = ['01.10.21', '06.10.21', '15.10.21'];
const disabledDatesRegex = '^(?!'+enabledDatesArray.join('|')+').*$';
Ext.create('Ext.panel.Panel', {
width: 400,
renderTo: Ext.getBody(),
items: [{
xtype: 'datepicker',
format: 'd.m.y',
disabledDates: [disabledDatesRegex]
}]
});
}
});
如何禁用所有日历日期并从动态数组启用?
比如我有数组
['1.12.21', '25.11.21', '3.12.21', '8.10.21']
我应该禁用数组中除日期之外的所有日期 - 我该怎么做?
可以使用Ext.form.field.Date
disabledDates
配置,setDisabledDates
方法更新,见documentation。您在此处指定的数组将被解释为正则表达式,因此在您的情况下,您可以设置一个否定条件来禁用除某些日期之外的所有日期。
尝试下面的代码,也 this working fiddle。这适用于经典工具包,我不知道如何在现代工具包中做到这一点。
Ext.application({
name: 'Fiddle',
launch: function () {
const enabledDatesArray = ['01.10.21', '06.10.21', '15.10.21'];
const disabledDatesRegex = '^(?!'+enabledDatesArray.join('|')+').*$';
Ext.create('Ext.panel.Panel', {
width: 400,
renderTo: Ext.getBody(),
items: [{
xtype: 'datepicker',
format: 'd.m.y',
disabledDates: [disabledDatesRegex]
}]
});
}
});