有没有办法在 ext js 中重新呈现复选框?
is there any way to re-render checkbox in ext js?
我有以下代码
extend: 'Ext.container.Viewport',
initComponent: function () {
var me = this;
me.items = [
{
xtype: 'checkbox',
fieldLabel: 'RPTest',
itemId:'chk1'
},
{
xtype: 'button',
text: 'test',
handler: function () {
me.chk1.setBoxLabel(me.chk1.fieldLabel);
me.chk1.boxLabelAlign = 'before';
me.chk1.setFieldLabel('');
}
}
];
me.callParent(arguments);
me.chk1 = me.down('#chk1');
}
})
我想更新 boxLabelAlign 属性 每当用户单击按钮 属性 值更改但 DOM 不更新我已经尝试过 updateLayout () 的复选框,但它不起作用。那么这些问题有什么解决办法吗?或者有什么方法可以更新 DOM?
您应该使用 setConfig()
方法来分配新的 boxLabelAlign
属性 而不是直接分配值。方法如下:
var checkbox = Ext.create({
xtype: 'checkbox',
boxLabelAlign: 'after',
boxLabel: 'ltest'
})
var button = Ext.create({
xtype: 'button',
text: 'CLICK ME',
handler: function () {
checkbox.setConfig({
boxLabelAlign: 'before'
})
}
})
Ext.create('Ext.panel.Panel', {
title: 'Setting label align',
items: [
checkbox,
button
],
renderTo: Ext.getBody()
});
您可以使用 element.setConfig({...})
方法更改 Ext js 元素的 initialConfigs
我有以下代码
extend: 'Ext.container.Viewport',
initComponent: function () {
var me = this;
me.items = [
{
xtype: 'checkbox',
fieldLabel: 'RPTest',
itemId:'chk1'
},
{
xtype: 'button',
text: 'test',
handler: function () {
me.chk1.setBoxLabel(me.chk1.fieldLabel);
me.chk1.boxLabelAlign = 'before';
me.chk1.setFieldLabel('');
}
}
];
me.callParent(arguments);
me.chk1 = me.down('#chk1');
}
})
我想更新 boxLabelAlign 属性 每当用户单击按钮 属性 值更改但 DOM 不更新我已经尝试过 updateLayout () 的复选框,但它不起作用。那么这些问题有什么解决办法吗?或者有什么方法可以更新 DOM?
您应该使用 setConfig()
方法来分配新的 boxLabelAlign
属性 而不是直接分配值。方法如下:
var checkbox = Ext.create({
xtype: 'checkbox',
boxLabelAlign: 'after',
boxLabel: 'ltest'
})
var button = Ext.create({
xtype: 'button',
text: 'CLICK ME',
handler: function () {
checkbox.setConfig({
boxLabelAlign: 'before'
})
}
})
Ext.create('Ext.panel.Panel', {
title: 'Setting label align',
items: [
checkbox,
button
],
renderTo: Ext.getBody()
});
您可以使用 element.setConfig({...})
方法更改 Ext js 元素的 initialConfigs