Extreact 6 флажок "проверено" значение предотвращает истину
Играю с Extreact, и у меня есть флажок на моей странице, который я хочу контролировать его проверенное состояние. Например, я хочу установить проверенное значение в моем состоянии и иметь возможность проверять или снимать этот ввод, не нажимая на него как на пользователя.
Проблема в том, что CheckboxField
только имеет checked
опора, которая относится к начальному состоянию, так что это довольно бесполезно впоследствии.
1 ответ
Решение
Из-за коробки невозможно предотвратить изменение состояния щелчками, но это довольно легко сделать с помощью переопределения. Скрипка
Ext.define(null, {
override: 'Ext.field.Checkbox',
updateReadOnly: function (value, oldValue) {
this.callParent([value, oldValue]);
this.inputElement.dom.onclick = value ? function () {
return false;
} : null;
}
})
Ext.application({
name: 'Fiddle',
launch: function () {
Ext.Viewport.add({
xtype: 'container',
items: [{
id: 'foo',
xtype: 'checkbox',
readOnly: true
}, {
xtype: 'button',
text: 'On',
handler: function () {
Ext.getCmp('foo').check();
}
}, {
xtype: 'button',
text: 'Off',
handler: function () {
Ext.getCmp('foo').uncheck();
}
}]
});
}
});