SplitLayout
Контейнер для реализации интерфейса многоколоночной структурой – за реализацию колонки отвечает SplitCol.
Помимо многоколоночной структуры, за счёт SplitCol со свойством autoSpaced, обеспечивает боковые отступы для
экранов на базе Panel.
Связанные страницы и компоненты:
Применение компонента
Достаточно будет объявить SplitLayout один раз ближе к корню приложения (см. Навигация | Предварительная настройка).
Выравнивание
За выравнивание контента по горизонтали отвечает свойство center.
true— весь контент выравнивается по центру;false— выравнивание не применяется.
Сквозная шапка
Для реализации сквозной шапки между колонками используется свойство header с передачей в него компонента PanelHeader.
SplitCol
Подкомпонент для отрисовки колонки в многоколоночном интерфейсе.
Позиционирование
Свойство fixed даёт возможность задать стиль position: fixed для колонки.
Обычно используется для боковых колонок, не позволяя им прокручиваться с основным контентом и всегда оставаться в области видимости.
true— стиль применяется;false— стиль не применяется.
Размеры
С помощью свойств width, minWidth и maxWidth можно управлять шириной колонки. Принимаются либо числовое (в пикселях), либо
строковое (токены или другие единицы измерения) значения.
<SplitCol width="100%" maxWidth={560}>
{/* контент */}
</SplitCol>Свойство stretchedOnMobile позволит колонке растягиваться на всю доступную ширину на устройствах шириной меньше tablet.
Отступы
Свойство autoSpaced добавляет фиксированные боковые отступы колонке на устройствах с шириной больше smallTablet.
Анимации
Через свойство animate можно управлять включением/отключением анимаций при переходах во View. По умолчанию
анимации при переходах включены только для мобильных устройств.
Свойства и методы
SplitLayout
| Свойство | Описание |
|---|---|
center | booleanЦентрирует контент. По умолчанию: - |
getRef | Ref<HTMLDivElement>Deprecated: Since 7.9.0. Вместо этого используйте По умолчанию: - |
getRootRef | Ref<HTMLDivElement>По умолчанию: - |
header | ReactNodeКомпонент для отрисовки заголовка. По умолчанию: - |
modal | ReactNodeDeprecated: Будет удалeно в VKUI v8.
Начиная с VKUI v7 По умолчанию: - |
popout | ReactNodeDeprecated: Будет удалeно в VKUI v8.
Начиная с VKUI v7 компоненты можно располагать в любом
месте приложения в пределах По умолчанию: - |
slotProps | { root?: (HTMLAttributes<HTMLDivElement> & HasRootRef<HTMLDivElement> & HasDataAttribute); content?: (HTMLAttributes<...> & ... 1 more ... & HasDataAttribute) | undefined; } | undefinedСвойства, которые можно прокинуть внутрь компонента:
По умолчанию: - |
SplitCol
| Свойство | Описание |
|---|---|
animate | booleanЕсли false, то переходы между Panel происходят без анимации. По умолчанию: - |
autoSpaced | booleanЕсли true, то добавляются боковые отступы фиксированной величины при ширине больше чем По умолчанию: - |
fixed | booleanФиксированное положение колонки. По умолчанию: - |
getRootRef | Ref<HTMLDivElement>По умолчанию: - |
maxWidth | string | numberМаксимальная ширина колонки. По умолчанию: - |
minWidth | string | numberМинимальная ширина колонки. По умолчанию: - |
stretchedOnMobile | booleanЕсли true, то ширина контейнера становится 100% при ширине меньше чем По умолчанию: - |
width | string | numberШирина колонки. По умолчанию: - |