#vaadin #lit-element
#vaadin #освещенный элемент
Вопрос:
я пытаюсь применить стили к компоненту сетки vaadin заголовка, но ничего не выходит, в чем может быть проблема
У меня есть компоненты на странице
<script-loader-grid></script-loader-grid>
и внутри этого компонента я пытаюсь реализовать стили
<style>
${styles}
:host {
height: 150px;
}
[part="header-cell"] {
background: red;
}
</style>
<vaadin-grid id="test" .items ="${test_data}">
<vaadin-grid-column path="company" header="Company" ы></vaadin-grid-column>
<vaadin-grid-column path="script" header="Script"></vaadin-grid-column>
<vaadin-grid-column path="stage" header="Stage"></vaadin-grid-column>
<vaadin-grid-column path="atributes" header="Atributes"></vaadin-grid-column>
</vaadin-grid>
`
Комментарии:
1. Я предлагаю вам прочитать документацию о стилизации компонентов: vaadin.com/docs/v17/themes/styling-components.html , а также понять концепции областей стилей и способы импорта таблиц стилей для компонентов. Прямо сейчас имеющиеся у вас стили не применяются к области корня / стиля тени vaadin-grid.
2. да, я также использую host, но он не работает для заголовков (
Ответ №1:
Я решаю свою проблему таким образом, просто используя registerStyles
import { registerStyles } from '@vaadin/vaadin-themable-mixin/register-styles.js'
import {css} from '@vaadin/vaadin-themable-mixin/register-styles'
class scriptLoaderGrid extends connect(store)(LitElement) {
static get properties() {
return {
opened: {type: Boolean},
}
}
constructor() {
super()
registerStyles('vaadin-grid', css`
:host [part~="header-cell"] ::slotted(vaadin-grid-cell-content), [part~="footer-cell"] ::slotted(vaadin-grid-cell-content), [part~="reorder-ghost"] {
background:red
}
`)
}
......
<vaadin-grid .items ="${test_data}" theme="special-field">
<vaadin-grid-column path="company" header="Company"></vaadin-grid-column>
.....
</vaadin-grid>