禁用多个 dateField
Disable multiple dateField's
我有一个复选框可以控制 ExtJs 中的 4 个日期字段。我希望能够给他们一个通用的 属性 以便能够使用一个命令禁用所有字段。
我假设有一种更简单的方法可以做到这一点。它有效,但它是一大块代码。
到目前为止,这是复选框的更改事件实现:
change: function (cmp, newValue, oldValue, eOpts) {
var dt1 = cmp.up().down('#Dtf1');
dt1.setDisabled(newValue);
var dt2 = cmp.up().down('#Dtf2');
dt2.setDisabled(newValue);
var dt3 = cmp.up().down('#Dtf3');
dt3.setDisabled(newValue);
var dt4 = cmp.up().down('#Dtf4');
dt4.setDisabled(newValue); }
您可以添加一个属性,例如:
{
xtype: 'textfieid',
itemId: 'Dtf1',
dtf: true
}
然后你就可以查询了:
cmp.up().query('[dtf=true]').forEach(function(item){
item.setDisabled(newValue);
});
或者也可以使用查询,例如:
cmp.up().query('#Dtf1, #Dtf2, #Dtf3, #Dtf4').forEach(function(item){
item.setDisabled(newValue);
});
我有一个复选框可以控制 ExtJs 中的 4 个日期字段。我希望能够给他们一个通用的 属性 以便能够使用一个命令禁用所有字段。 我假设有一种更简单的方法可以做到这一点。它有效,但它是一大块代码。
到目前为止,这是复选框的更改事件实现:
change: function (cmp, newValue, oldValue, eOpts) {
var dt1 = cmp.up().down('#Dtf1');
dt1.setDisabled(newValue);
var dt2 = cmp.up().down('#Dtf2');
dt2.setDisabled(newValue);
var dt3 = cmp.up().down('#Dtf3');
dt3.setDisabled(newValue);
var dt4 = cmp.up().down('#Dtf4');
dt4.setDisabled(newValue); }
您可以添加一个属性,例如:
{
xtype: 'textfieid',
itemId: 'Dtf1',
dtf: true
}
然后你就可以查询了:
cmp.up().query('[dtf=true]').forEach(function(item){
item.setDisabled(newValue);
});
或者也可以使用查询,例如:
cmp.up().query('#Dtf1, #Dtf2, #Dtf3, #Dtf4').forEach(function(item){
item.setDisabled(newValue);
});