#angular #sass #primeng
#angular #sass #применение
Вопрос:
Я использую selectButton
компонент PrimeNG. https://www.primefaces.org/primeng/showcase/#/selectbutton . Я не могу найти способ изменить синий цвет фона выбранной кнопки на другой.
Это мой HTML-код
<p-selectButton [options]="brands" multiple="multiple" >
<ng-template let-car let-i="index" pTemplate="item">
<div class="brand-image-container">
<img id="{{car.value}}" src="./assets/images/png/brand-logos//{{car.label}}.png">
</div>
</ng-template>
</p-selectButton>
И это мой scss:
::ng-deep {
.ui-selectbutton .ui-button.ui-state-default {
border-radius: 20px;
border: solid 0 transparent;
background-color: transparent;
margin-right: 10px;
}
}
::ng-deep {
.ui-selectbutton .ui-button.ui-state-active {
background-color: red;
}
}
::ng-deep {
.ui-selectbutton .ui-button.ui-state-highlight {
background-color: green;
}
}
Работает только состояние по умолчанию .
Любая помощь в том, почему состояния выделения и активности не работают?
Ответ №1:
Попробуйте использовать эти классы:
::ng-deep {
.p-selectbutton .p-button.p-highlight {
background: red;
background-color: red;
}
.p-selectbutton .p-button.p-highlight:hover {
background: green;
}
}
См. StackBlitz
Комментарии:
1. Спасибо за ваш ответ, это не сработало, я обновил свой вопрос для получения более подробной информации
2. Я не понимаю, что-то не работает в моем стекблите? Вы пытались заменить свои CSS-префиксы
.ui-
на.p-
?3. Он работает на StackBlitz, но не тогда, когда я интегрирую его в свой код, это странно..
4. Можете ли вы поделиться изображением своего DOM при проверке selectbutton?
5. Да, спасибо, это был не тот DOM, который я использовал в своем scss. Большое спасибо.
Ответ №2:
Привет, раньше я встречал такую ошибку, как вы, возможно, в вашем проекте есть другой класс, когда он активен. Пример: в StackBlitz это будет ->
::ng-deep .p-selectbutton .p-button.p-highlight {
color: #007ad9 !important;
font-weight: 700;
}
Но в моем проекте это будет ->
::ng-deep .ui-selectbutton .ui-button.ui-state-active {
color: #007ad9 !important;
font-weight: 700;
}
Для меня это работает нормально, вы можете попробовать. Спасибо
Комментарии:
1. Этот вопрос немного устарел, но в любом случае спасибо за ваши усилия