我有一个要求,即组件在具有多个值时应看起来像组合框,而在只有一个值时应看起来像文本字段。
而不是改变组件。我选择只更改该组件的 cls,使其在运行时看起来像组合框或文本字段,具体取决于组合框中的项目数量。
为此,我使用以下内容
comboBox.removeCls('comboBoxWithNoImg');
comboBox.addCls('comboBoxWithImg');
但是它不起作用。当我此时检查它时,它在 watch (调试器)中显示更改后的 cls,但不在 UI 上显示。 另外,它似乎没有刷新什么的。
我还尝试了以下方法:
comboBox.cls = 'comboBoxWithImg';
comboBox.initialCls = 'comboBoxWithImg';
comboBox.listConfig.cls = 'comboBoxWithImg';
comboBox.initialConfig.cls= 'comboBoxWithImg';
comboBox.fieldCls= 'comboBoxWithImg';
但它在用户界面上没有改变。
请帮忙,我在这个问题上花了很多时间......:( 提前致谢。
最佳答案
如果您希望隐藏和显示组合框显示的箭头图标,则可以在组合框的 triggerEl 上调用 隐藏 和 显示 函数,如下所示如下图
comboBox.triggerEl.hide();
comboBox.triggerEl.show();
关于javascript - 在 Ext JS 中运行时更改组合框的外观,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33340397/