在Ext JS

时间:2015-10-26 07:21:06

标签: javascript extjs combobox

我要求组件在具有多个值时应该看起来像组合框,并且当它只有一个值时就像文本字段一样。

而不是更改组件。我选择只更改该组件的cls,使其在运行时看起来像组合框或文本字段,具体取决于组合框中的项目数。

要做到这一点,我使用以下

comboBox.removeCls('comboBoxWithNoImg');
comboBox.addCls('comboBoxWithImg');

但它不起作用。当我在此时检查它时,它会在手表(调试器)中显示已更改的cl,但在UI上不显示。 此外,它似乎没有得到刷新或其他什么。

我也尝试了以下内容:

comboBox.cls = 'comboBoxWithImg';
comboBox.initialCls = 'comboBoxWithImg';
comboBox.listConfig.cls = 'comboBoxWithImg';
comboBox.initialConfig.cls= 'comboBoxWithImg';
comboBox.fieldCls= 'comboBoxWithImg';

但它在UI上没有变化。

请帮忙,我在这个问题上花了很多时间...... :( 提前谢谢。

2 个答案:

答案 0 :(得分:1)

如果您要隐藏并显示使用组合框显示的箭头图标,则可以在组合框中调用隐藏显示功能&#39 ; s triggerEl如下所示

comboBox.triggerEl.hide();
comboBox.triggerEl.show();

答案 1 :(得分:1)

如果你想让combobox看起来像普通的文本字段,你可以隐藏触发器

comboBox.setHideTrigger(true);