ExtJs 3.4 在 xtype 中显示错误文本字段:'textfield' (MODx)
ExtJs 3.4 display error textfield in xtype: 'textfield' (MODx)
我有一个面板,其中的按钮显示了这个 window:
MyClass.window.Test = function (config) {
config = config || {};
Ext.applyIf(config, {
title: 'Test',
width: '1000',
autoHeight: true,
fields: [
{
xtype: 'panel',
items: [{
layout: 'form',
items: [
{
xtype: 'textfield',
name: 'testfield',
fieldLabel: 'Test Label Textfield',
id: 'testfield',
emptyText: 'text',
allowBlank: true,
anchor:'95%'
}
]
},
]}
],
url: MyClass.config.connector_url,
action: 'mgr/myext/create',
});
MyClass.window.Test.superclass.constructor.call(this, config);
};
Ext.extend(MyClass.window.Test, MODx.Window);
Ext.reg('test-window', MyClass.window.Test, MODx.Window);
按钮本身是这样的
{
xtype: 'button',
text: 'TEST',
cls: 'primary-button',
handler: function () {
MODx.load({
xtype: 'test-window',
listeners: {
success: {
fn: function () {
this.refresh();
}, scope: this
}
}
}).show();
}
}
问题。当我第一次点击按钮时,表格显示正确。当我第二次单击时,文本字段消失并且 fieldLabel 重复 4 次 (1 click normall 2 click and more - crash)。
如果我用任何其他 xtype 替换 textfield - 一切正常。如果删除 id 效果很好(!!!)。但我需要 Ext.getCmp 的 ID。我不明白为什么第一次一切都很好,但是当我再次点击时却没有正确显示。我在任何地方都找不到类似的问题,很沮丧。对 fieldlabel、layuot 属性的任何操作都无济于事。问题出在哪里?在工作版本中,我有大约 40 个文本字段。
默认情况下 window 不会在关闭时销毁,因此您有两个具有相同 ID 的元素再次创建 window。
this.ident = config.ident || 'mywindow' + Ext.id();
在
之后的 window 代码的开头
config = config || {};
及以后使用
id: 'textfield' + this.ident
将有助于绕过该问题。
我有一个面板,其中的按钮显示了这个 window:
MyClass.window.Test = function (config) {
config = config || {};
Ext.applyIf(config, {
title: 'Test',
width: '1000',
autoHeight: true,
fields: [
{
xtype: 'panel',
items: [{
layout: 'form',
items: [
{
xtype: 'textfield',
name: 'testfield',
fieldLabel: 'Test Label Textfield',
id: 'testfield',
emptyText: 'text',
allowBlank: true,
anchor:'95%'
}
]
},
]}
],
url: MyClass.config.connector_url,
action: 'mgr/myext/create',
});
MyClass.window.Test.superclass.constructor.call(this, config);
};
Ext.extend(MyClass.window.Test, MODx.Window);
Ext.reg('test-window', MyClass.window.Test, MODx.Window);
按钮本身是这样的
{
xtype: 'button',
text: 'TEST',
cls: 'primary-button',
handler: function () {
MODx.load({
xtype: 'test-window',
listeners: {
success: {
fn: function () {
this.refresh();
}, scope: this
}
}
}).show();
}
}
问题。当我第一次点击按钮时,表格显示正确。当我第二次单击时,文本字段消失并且 fieldLabel 重复 4 次 (1 click normall 2 click and more - crash)。 如果我用任何其他 xtype 替换 textfield - 一切正常。如果删除 id 效果很好(!!!)。但我需要 Ext.getCmp 的 ID。我不明白为什么第一次一切都很好,但是当我再次点击时却没有正确显示。我在任何地方都找不到类似的问题,很沮丧。对 fieldlabel、layuot 属性的任何操作都无济于事。问题出在哪里?在工作版本中,我有大约 40 个文本字段。
默认情况下 window 不会在关闭时销毁,因此您有两个具有相同 ID 的元素再次创建 window。
this.ident = config.ident || 'mywindow' + Ext.id();
在
之后的 window 代码的开头config = config || {};
及以后使用
id: 'textfield' + this.ident
将有助于绕过该问题。