2016-02-19 4 views
0

Я знаю, что есть много сообщений на эту тему, но даже после просмотра всех и использования всех конфигураций «cls» цвет фона моей кнопки не меняется.Цвет фона кнопки в ExtJS 6 не изменяется

Вот мой код:

var miscTools = Ext.create('Ext.panel.Panel', { 
    title: 'Tools', 
    id: 'toolsPanel', 
    bodyPadding: 5, 
    height: 200, 
    border: false, 
    collapsible: false, 
    layout: 'anchor', 
    defaults: { 
     anchor: '100%' 
    }, 
    items: [{ 
     xtype: 'button', 
     id: 'colorToolButton', 
     text: 'Auto color tool', 
     cls: 'multiColor-btn', 
     handler: colorWindow 
    }] 
}) 

CSS:

.multiColor-btn { 
    background-color: yellow; 
} 

Что я делаю неправильно?

ОТВЕТЫ

Так что проблема была из серой темы ExtJS. Мне нужно было удалить фоновое изображение кнопки, чтобы добавить цвет фона. Спасибо @Alexander за его ответ.

Правильный код:

.multiColor-btn { 
    background-image: none !important; 
    background-color: yellow !important; 
} 

Другим вариантом было бы использовать «afterRender» событие, чтобы изменить цвет фона. Однако он просто меняет цвет фона текста. Спасибо @nenadg за этот ответ.

Ext.getCmp('colorToolButton').btnInnerEl.addCls('multiColor-btn')

+0

Вопрос должен быть с вашей темой. Какую тему вы используете? В triton ваш код работает для меня. – Alexander

+0

Я использую серая тема ... – kaycee

+2

Серая тема использует фоновое изображение, которое имеет приоритет над фоном. [Попробуйте 'background-image: none! Important;'.] (Https://fiddle.sencha.com/#fiddle/15vl) – Alexander

ответ

0

Попробуйте это:

.multiColor-btn { 
    background-color: yellow !important; 
} 
+0

Спасибо за ваш ответ, но он не работает даже с этим. – kaycee

0

Вместо ЦБС, попробуйте использовать userCls свойство для дополнительных стилей.

http://staging.sencha.com/extjs/6.0/6.0.1-modern/#!/api/Ext.Component-cfg-userCls

+0

Как я уже сказал, я использовал весь «[...] cls« config class », и ни один из них не может изменить цвет фона. Я думаю, что это связано с некоторым классом стиля overide ... – kaycee

+1

Я не знаю, какие переопределения вы используете, но вы можете взломать его в afterrender event: 'this.btnInnerEl.addCls ('multiColor-btn'); ' – nenadg

+0

Спасибо за ваш ответ! Он отлично работает! – kaycee

Смежные вопросы