Ext.Component.setStyle ('color', 'value'), похоже, не работает - PullRequest
0 голосов
/ 16 октября 2018

У меня есть две кнопки, идея состоит в том, чтобы щелкнуть одну кнопку, и текст другой изменит цвет, т. Е. Если нажата кнопка 1, текст кнопки 2 изменится с ее текущего цвета на синий и наоборот.Я получаю ссылку на кнопки и вызываю setStyle на ссылку, но, похоже, не работает.Любое понимание приветствуется.Фрагмент кода можно найти ниже: -

{
    xtype: 'button',
    text: 'Foo',
    id: 'foo',
    ui: 'plain',
    toggleGroup: "buttonToggle",
    listeners: {
        click: "onFooButtonClick",
        afterrender: 'onButtonsRendered'
    },
    toggleHandler: "onButtonToggled"
},
{
    xtype: 'tbseparator'
},
{
    xtype: 'button',
    text: 'Bar',
    id: 'bar',
    ui: 'plain',
    toggleGroup: "buttonToggle",
    listeners: {
        click: "onBarButtonClick",
        afterrender: 'onButtonsRendered'
    },
    toggleHandler: "onButtonToggled"
}

// Controller.js

onButtonToggled: function(button, state) {
    var clickedButton = button.id;
    button.btnInnerEl.setStyle('color', 'black');     
    if (clickedButton === "foo") {
        var btnBar = Ext.getCmp('bar');
        btnBar.setStyle('color', 'blue');
    } else if (clickedButton === "bar") {
        var btnFoo = Ext.getCmp('foo');
        btnFoo.setStyle('color', 'blue');
    }
}

1 Ответ

0 голосов
/ 16 октября 2018

Ваш метод 'setStyle' неправильный.Вы должны использовать фигурные скобки и добавить цвет в качестве значения ключа следующим образом:

Поэтому вам нужно заменить следующий код:

btnBar.setStyle('color', 'blue');
btnFoo.setStyle('color', 'blue');
button.btnInnerEl.setStyle('color', 'black');

наэто:

btnBar.setStyle({'color': 'blue'});
btnFoo.setStyle({'color': 'blue'});
button.btnInnerEl.setStyle({'color': 'black'}); 

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...