javascript - 在 Ext JS 中运行时更改组合框的外观

标签 javascript extjs combobox

我有一个要求,即组件在具有多个值时应看起来像组合框,而在只有一个值时应看起来像文本字段。

而不是改变组件。我选择只更改该组件的 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/

相关文章:

android - Ext未定义错误

c# - 是否可以在 winforms 应用程序中定义左手组合框(即左侧的滚动条)?

javascript - ember.js 和 mongoDB 通过 id 查找对象

javascript - Tap 运算符 - 为什么由其他 2 个 Observable 扩展的 Observable 触发点击 2 次而不是 1 次?

javascript - 如何根据从另一个页面点击的链接填充页面内容?

javascript - 如何将 TreeStore 数据放入 ComboBox 中

javascript - 在 extjs 4 中加载期间取消选中整体 radio 组 radio 场

c# - DataGridComboBoxColumn 绑定(bind)到列表<String>

html - 为什么将查找值(组合框值)存储在数据库中而不是将它们放在 html 页面上?

javascript - 使用窗口对象