Перейти до вмісту
tatetUI

Drawer

Бічна панель, що виїжджає з будь-якого краю, зі свайпом для закриття знизу.

Drawer ділить overlay-ядро з UiModal, але має протилежний типовий closeOnBackdrop. Це не непослідовність, а різне призначення: модалка зазвичай інформаційна, drawer майже завжди містить форму. Випадковий клік повз панель не має знищувати заповнене.

Приклад

Позиції

API

Props

НазваТипТиповоОпис
titlestring""Заголовок. Ігнорується, якщо задано слот `header`.
positionrightlefttopbottom"right"З якого краю виїжджає панель.
sizelgxssmmdxl2xlfullauto"lg"Розмір поперек напрямку: ширина для left/right, висота для top/bottom.
panelClassstring""Додаткові класи панелі. Якщо задано, замінює стандартний фон.
initialFocusstringCSS-селектор усередині панелі, якому віддати фокус при відкритті. Типово фокус отримує сама панель — щоб на мобільних не піднімалася клавіатура.
modelValuebooleanfalseВідкрито. Використовуйте через `v-model`.
closablebooleantrueПоказувати хрестик і дозволяти закриття через Escape.
noPaddingbooleanfalseПрибрати внутрішні відступи вмісту.
closeOnBackdropbooleanfalseКлік по затемненому фону закриває drawer. Типово ВИМКНЕНО — на відміну від UiModal. Drawer майже завжди містить форму, і випадковий клік повз панель не має знищувати незбережене введення.
persistentbooleanfalseНі Escape, ні клік по фону не закривають — лише явна дія.
swipeToClosebooleantrueСвайп вниз закриває нижній drawer. Вимикається, якщо заважає.

Події

НазваPayloadОпис
update:modelValue[value: boolean]Зміна стану відкриття. Використовуйте через `v-model`.
close[]Панель закрито — хрестиком, Escape, кліком по фону або свайпом.

Слоти

НазваОпис
defaultВміст панелі.
headerЗамінює заголовок цілком. Тоді `title` не використовується.
footerКнопки дій. Футер не рендериться, якщо слот порожній.

Коли використовувати

Для форм і панелей деталей, де користувач має бачити контекст під панеллю або де вмісту забагато для модалки.

Нижня позиція (position="bottom") — природний вибір для мобільних дій: панель ближче до великого пальця, ніж будь-що вгорі екрана.

Коли НЕ використовувати

Не робіть drawer заміною сторінки. Якщо на вміст треба дати посилання, повернутися до нього кнопкою «назад» або відкрити в новій вкладці — це сторінка, а не панель.

Доступність

Свайп працює лише знизу і лише коли closable. Ручка та шапка мають touch-none — без нього браузер забирає вертикальний жест собі як прокрутку сторінки, і панель не рухається.

Закриття за свайпом спрацьовує або за пройденою чвертю висоти, або за різким флінгом: короткий швидкий рух — теж однозначний намір закрити.

Портування

Ті самі чотири композабли, що й для UiModal. Якщо в проєкті вже є UiModal, копіювати їх удруге не потрібно.