提取 6 复选框 "checked" 值阻止 true
Extreact 6 checkbox "checked" value prevent true
玩 Extreact,我的页面上有一个复选框,我想控制它的选中状态。例如,我想在我的状态中设置选中的值,并且能够选中或取消选中该输入而无需作为用户单击它。
问题是 CheckboxField
只有一个 checked
prop 引用初始状态,所以之后就没用了。
不可能通过更改框来防止点击更改状态,但通过覆盖可以很容易地实现。 Fiddle.
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();
}
}]
});
}
});
玩 Extreact,我的页面上有一个复选框,我想控制它的选中状态。例如,我想在我的状态中设置选中的值,并且能够选中或取消选中该输入而无需作为用户单击它。
问题是 CheckboxField
只有一个 checked
prop 引用初始状态,所以之后就没用了。
不可能通过更改框来防止点击更改状态,但通过覆盖可以很容易地实现。 Fiddle.
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();
}
}]
});
}
});