Разделение
Базовое использование
Компонент Split позволяет создавать панели с изменяемым размером, поддерживающие горизонтальные или вертикальные макеты. Каждая панель может иметь настраиваемые размеры, минимальные и максимальные ограничения, а также уникальные стили.
Базовое использование компонента Split включает определение набора панелей с настраиваемыми свойствами и указание направления макета (horizontal или vertical).
Конфигурация панелей
Свойство panels позволяет определять макет и поведение панелей в компоненте Split. Каждая панель представлена объектом с несколькими свойствами, предоставляющими гибкость для настройки размера, ограничений и внешнего вида. Ниже приведено подробное описание каждого свойства с примерами.
Имя
Свойство name является уникальным идентификатором панели. Оно обязательно и используется для ссылок на панель в событиях, операциях изменения размера и определениях слотов.
В этом примере:
- Первая панель идентифицируется как
name: "panel1". - Вторая панель идентифицируется как
name: "panel2".
Свойство name также используется для привязки конкретных слотов для содержимого.
Размер
Свойство size задаёт начальный размер панели. Значение может быть определено в процентах или пикселях в зависимости от свойства units компонента Split.
size всех панелей равнялась 100% (при использовании процентов) или соответствовала общей доступной ширине или высоте (при использовании пикселей). Чтобы избежать потенциальных проблем с макетом, рекомендуется оставить одну панель без значения size. Панели без указанного size автоматически подстраиваются под оставшееся пространство.Пояснение примера:
- Панель
leftявно установлена на 70% доступного пространства. - Панель
rightавтоматически подстраивается под оставшиеся 30% пространства, обеспечивая сбалансированный макет.
При использовании pixels для свойства units применяется тот же принцип. Убедитесь, что сумма значений size не превышает общей ширины или высоты контейнера, и предпочтительно оставьте одну панель без значения size, чтобы она динамически подстраивалась.
Минимальный размер
Свойство minSize определяет минимальный размер, до которого панель может уменьшаться при изменении размера. Это особенно полезно для предотвращения полного сворачивания панели или её непригодности для использования.
minSizeбольше, чем значение size, панель начнёт с minSize в качестве начального размера. Это гарантирует соблюдение минимальных ограничений панели.Пояснение примера:
- Панель
topимеетsize100 пикселей, ноminSize150 пикселей. В результате она начинается с 150 пикселей, чтобы соответствовать ограничению минимального размера. - Панель
bottomимеетsize300 пикселей иminSize150 пикселей, что позволяет ей уменьшаться до 150 пикселей.
Правильная настройка minSize обеспечивает удобство использования панелей при гибком изменении размера.
Максимальный размер
Свойство maxSize задаёт максимальный размер, до которого панель может расширяться при изменении размера. Это гарантирует, что панель не превысит указанный предел.
- Если сумма значений
sizeилиmaxSizeвсех панелей превышает 100% (для процентов) или общую доступную ширину или высоту (для пикселей), могут возникнуть проблемы с макетом. - Убедитесь, что
minSizeне больше, чемmaxSize. Если это происходит,maxSizeавтоматически устанавливается равнымminSize, чтобы избежать конфликтов. - Приоритет поведения размера панели:
minSize>maxSize>size. Это означает:minSizeвсегда имеет приоритет.- Если
maxSizeиsizeконфликтуют,maxSizeпереопределяетsize.
Пояснение примера:
- Панель
leftначинается с ширины 50%, но не может превышать 60%. - Панель
rightимеетminSize40% иmaxSize50%. ПосколькуminSizeбольшеmaxSize,maxSizeкорректируется доminSize(40%). Панель начинается с 40% и не может ни расти, ни уменьшаться.
Правильная настройка maxSize позволяет задавать ограничения размера, сохраняя гибкость. Всегда проверяйте согласованность minSize, maxSize и size, чтобы избежать неожиданного поведения.
Отключение
Свойство disabled отключает изменение размера для панели. При установке в true панель не может быть изменена, а разделитель рядом с ней становится неактивным.
В этом примере:
- Панель
staticзафиксирована на 30% ширины контейнера и не подлежит изменению размера. - Панель
resizable1может свободно изменяться в пределах своих ограничений.
Класс
Свойство class позволяет применять пользовательский CSS-класс к панели. Это полезно для задания стилей, таких как цвет фона, отступы или границы.
В этом примере:
- Панель
styledимеет пользовательский цвет фона, отступы и границы, заданные вcustom-panel-class. - Панель
defaultиспользует стили по умолчанию.
Пользовательские свойства
Вы можете передавать дополнительные пользовательские свойства для панели, которые могут использоваться для расширения функциональности или передачи метаданных панели.
Направление
Свойство direction управляет направлением макета панелей. Оно может принимать одно из следующих значений:
"horizontal": Панели располагаются бок о бок."vertical": Панели располагаются друг над другом.
Единицы измерения
Свойство units задаёт единицы измерения для размеров панелей. Оно может принимать одно из следующих значений:
"percentages": Размеры определяются в процентах от контейнера (по умолчанию)."pixels": Размеры определяются в пикселях.
Прозрачность разделителя
Свойство separatorNotHoverOpacity определяет, уменьшается ли прозрачность разделителя, когда на него не наведён курсор. Оно принимает:
true: Разделитель менее заметен, когда на него не наведён курсор.false: Разделитель сохраняет полную прозрачность (по умолчанию).
Тип разделителя
Свойство separatorType определяет внешний вид разделителя между панелями. Оно может принимать одно из следующих значений:
"strip": Простой полосный разделитель (по умолчанию)."hexagon": Шестиугольный разделитель.- Любое другое допустимое имя иконки из вашей библиотеки иконок.
События
События изменения размера
Компонент Split генерирует несколько событий, связанных с изменением размера панелей:
updated-panels: Генерируется при обновлении размеров панелей. Предоставляет объект с обновлёнными размерами.updated-size-panel: Генерируется при обновлении размера одной панели. Предоставляет новый размер и имя панели.start-resize-panel: Генерируется при начале изменения размера панели.stop-resize-panel: Генерируется при завершении изменения размера панели.move-resize-panel: Генерируется при активном изменении размера панели.out-resize-panel: Генерируется при выходе действия изменения размера за границы панели.
Этот пример демонстрирует, как прослушивать события, связанные с изменением размера, в компоненте Split.
Слоты
Слоты панелей
Каждая панель в компоненте Split может иметь именованный слот, соответствующий её свойству name. Используйте слот для предоставления пользовательского содержимого панели.

