ExtJS:如何在按钮内引用图标元素(作为对象)?

时间:2017-11-24 12:14:43

标签: javascript oop web extjs frontend

我有一个包含图标元素的按钮。该按钮被称为 obj

我需要通过usind .show()和.hide()方法更改按钮图标的可见性。

现在我这样做(但我觉得这不是一个真正的方式):

obj.getInnerItems()[0].hide();

它不好,因为我依赖于一个恒定的组件结构,如果在下一个版本的ExtJS中发生某些变化,逻辑就会被打破。

有没有更好的做法来解决这个问题?

1 个答案:

答案 0 :(得分:0)

更好的方法是使用setter方法。您可以将其与null一起使用来隐藏图标并重置为初始配置以显示。

    var btn = Ext.create('Ext.button.Button', {
        renderTo: Ext.getBody(),
        text: 'Test',
        icon: 'images/test.svg'
    });

    // hide icon
    btn.setIcon(null);

    // show icon
    btn.setIcon(btn.getInitialConfig('icon'));