Шапка работает только внутри CdsLayout — вне макета она ничего не отрисует и предупредит об этом в консоли. Содержимое шапки раскладывает CdsToolbar, а нижнюю панель приложения собирает CdsFooter.
Вариации
Разделитель
Шапка перекрывает прокручиваемый контент, поэтому её край стоит обозначить: bordered рисует границу, elevated — тень. Тень заметнее и лучше подходит длинным спискам, граница — спокойным страницам.
Высота
Высоту задаёт содержимое: макет замеряет шапку и резервирует ровно столько места, сколько она занимает. Свойство height — начальная оценка до первого замера: укажите ожидаемую высоту, чтобы контент не подпрыгивал при монтировании.
Цвет
Свойство bg-color красит фон шапки алиасом палитры, color — текст и иконки внутри. Если задан только фон, цвет текста подбирается контрастным автоматически.
Плавающий режим
Свойство reveal прячет шапку при прокрутке вниз и возвращает при прокрутке вверх — на длинных списках это отдаёт экран контенту. Свойство reveal-offset задаёт зону у начала страницы, где шапка остаётся на месте. Событие @reveal сообщает о смене видимости, а фокус с клавиатуры внутри скрытой шапки показывает её обратно.
Видимость
Свойство model-value убирает шапку целиком: макет перестаёт резервировать под неё место, и контент занимает освободившуюся высоту. Так удобно прятать шапку в полноэкранных режимах — просмотре документа, презентации.
Рекомендации
Сценарии использования
Шапка приложения
Основной набор: кнопка меню, логотип, название в CdsToolbarTitle и действия справа. CdsToolbarTitle растягивается и разводит левую и правую группы по краям, поэтому дополнительных распорок не нужно.
Шапка с вкладками
Два CdsToolbar подряд превращают шапку в двухуровневую: сверху название раздела, снизу CdsTabs с подразделами. Вкладки остаются на экране вместе с шапкой, поэтому переключаться можно из любой точки списка.
API
Пропсы
| Имя | Тип | По умолчанию | Описание |
|---|---|---|---|
bgColor | string | undefined | — | Цвет фона компонента |
bordered | boolean | undefined | false | Отображение границы. |
color | string | undefined | — | Цвет компонента |
elevated | boolean | undefined | false | Отображение тени. |
height | string | number | undefined | 50 | Высота элемента. |
modelValue | boolean | undefined | true | Видимость элемента в макете. |
reveal | boolean | undefined | false | Плавающий режим: элемент появляется/скрывается при скролле. |
revealOffset | number | undefined | 250 | Порог скролла (px), до которого плавающий элемент остаётся видимым. |
theme | string | undefined | — | Тема компонента |
События
| Имя | Тип | Описание |
|---|---|---|
focusin | [event: FocusEvent] | Фокус внутри шапки. |
reveal | [value: boolean] | Изменение видимости плавающей шапки. |
Слоты
| Имя | Тип | Описание |
|---|---|---|
default | any | Содержимое шапки (CdsToolbar и др.). |