我有一个奇怪的问题,我定义的组合有隐藏:真实,这很好用,但是当我显示组合框并从中选择一个值时,它会隐藏。这是一些示例代码:
(我正在使用一些自定义扩展的ComboBox,但这不是问题)
第一个ComboBox:
var bulkImportType = {
xtype: 'ibwComboLocal',
fields: ['id', 'name'],
data: [[1, '3rd Party Tag'], [2, 'Image'], [3, 'Template']],
fieldLabel: 'Type',
listeners: {
'select': function(combo, record, index) {
if (record.get('name') == 'Template') {
this.bulkImportTemplateCombo.show();
} else {
this.bulkImportTemplateCombo.hide();
}
}, scope: this
}
};
第二个ComboBox(仅在第一个Combo ==模板时显示)
var bulkImportTemplate = {
xtype: 'ibwComboJson',
hidden: 'true',
url: 'http://itads-dl06.tweb.aol.com:3080/IBW/templates?returnJson=1',
ref: '../bulkImportTemplateCombo',
root: 'templateList',
fieldLabel: 'Template'
};
隐藏/显示工作正常,但似乎当我从“模板”下拉框中选择一个值时,它会重新触发配置并隐藏组合框。从表单中的其他组合中选择一个值似乎做同样的事情,但是只是那些远程调用(来自为组合返回JSON的URL)。
远程组合的“重置”表单配置的任何修复?
编辑:ComboBox的所有代码。所有这些都只是在FormPanel中呈现。
var inventorySelectDropdown = {
xtype: 'ibwComboLocal',
fields: ['id', 'name'],
data: [[1, 'O&O'], [2, 'Network']],
value: 1, // set to O&O by default
fieldLabel: 'Inventory'
};
var bulkImportType = {
xtype: 'ibwComboLocal',
fields: ['id', 'name'],
data: [[1, '3rd Party Tag'], [2, 'Image'], [3, 'Template']],
fieldLabel: 'Type',
listeners: {
'select': function(combo, record, index) {
if (record.get('name') == 'Template') {
this.bulkImportTemplateCombo.show();
} else {
this.bulkImportTemplateCombo.hide();
}
}, scope: this
}
};
var bulkImportTemplate = {
xtype: 'ibwComboJson',
hidden: 'true',
url: 'xxx',
ref: '../bulkImportTemplateCombo',
root: 'templateList',
fieldLabel: 'Template'
};
var vendorDropdownBulk = {
xtype: 'ibwComboJson',
url: 'xxx',
root: 'vendorList',
fieldLabel: 'Vendor'
};
var bulkImportUploadField = {
xtype: 'fileuploadfield',
fieldLabel: 'Select Import File',
width: 400
};
答案 0 :(得分:0)
在'选择'监听器的if循环,在show()函数调用之后,添加以下语句:
this.bulkImportTemplateCombo.setVisible(true)