YMapDrawerControl
Класс используется для создания и управления боковой панелью на карте.
YMapDrawerControl позволяет создавать интерактивные боковые панели для отображения дополнительной информации или управления картой. Панель может быть расположена с любой стороны карты и имеет гибкую настройку размеров и анимации.
Примечание
Данный класс является компонентом пакета @yandex/ymaps3-drawer-control и предоставляет дополнительную функциональность в JS API, которая не входит в основное API.
Для подключения пакета воспользуйтесь инструкцией.
Пример использования
const drawerControl = new YMapDrawerControl({
position: 'left',
width: 300,
open: false,
onOpenChange: (value: boolean) => {
open = !value;
drawerControl.update({open});
},
content: () => {
const container = document.createElement('div');
const title = document.createElement('h1');
title.textContent = 'Заголовок';
container.appendChild(title);
return container;
}
});
<YMapDrawerControl
position="left"
width={300}
open={false}
onOpenChange={(value: boolean) => {setOpen(!value)}}
content={() => (
<div className="drawer-content">
<h1>Заголовок</h1>
</div>
)}
</YMapDrawerControl>
<YMapDrawerControl
:position="left"
:width="300"
:open="false"
:onOpenChange="(value) => {open.value = !value;}"
<template #content>
<div class="drawer-content">
<h1>Заголовок</h1>
</div>
</template>
</YMapDrawerControl>
Конструктор
new YMapDrawerControl(props: YMapDrawerControlProps)
Параметры конструктора
|
Параметр |
Тип |
Описание |
|
|
Значение входных |
Унаследовано от
Props
export type YMapDrawerContentProps = () => HTMLElement | YMapEntity<unknown>;
export interface YMapDrawerControlProps {
/** Определяет расположение боковой панели. (Значение по умолчанию: "left"). */
position: Position;
/** Длительность анимации открытия/закрытия в миллисекундах. (Значение по умолчанию: 500). */
transitionDuration?: number | YMapDrawerTransitionDurationProps;
/** Флаг, указывающий, открыта ли панель. Также позволяет программно открывать/закрывать панель. Обязательный параметр. */
open: boolean;
/** Фиксированная ширина панели. Если не указано, панель подстраивается под ширину содержимого. */
width?: string | number;
/** Максимальная ширина панели. */
maxWidth?: string | number;
/** Минимальная ширина панели. */
minWidth?: string | number;
/** Фиксированная высота панели. Если не указано, панель настраивается в соответствии с высотой содержимого. */
height?: string | number;
/** Максимальная высота панели. */
maxHeight?: string | number;
/** Минимальная высота панели. */
minHeight?: string | number;
/** Обработчик изменения статуса открытия панели. */
onOpenChange?: (open: boolean) => void;
/** Вертикальное положение кнопки, открывающей панель. */
verticalTriggerPosition?: VerticalTriggerPosition;
/** Горизонтальное положение кнопки, открывающей панель. */
horizontalTriggerPosition?: HorizontalTriggerPosition;
/** Функция, которая возвращает содержимое панели в виде HTML-элемента или сущности YMapEntity. */
content: YMapDrawerContentProps;
}
Параметры
|
Параметр |
Тип |
Значение по умолчанию |
Описание |
|
|
|
|
Определяет расположение боковой панели. |
||
|
|
|
500 |
Длительность анимации открытия/закрытия в миллисекундах. |
|
|
|
|
Флаг, указывающий, открыта ли панель. |
||
|
|
|
Фиксированная ширина панели. Если не указано, панель подстраивается под ширину содержимого. |
||
|
|
|
Максимальная ширина панели. |
||
|
|
|
Минимальная ширина панели. |
||
|
|
|
Фиксированная высота панели. Если не указано, панель настраивается в соответствии с высотой содержимого. |
||
|
|
|
Максимальная высота панели. |
||
|
|
|
Минимальная высота панели. |
||
|
|
|
Обработчик изменения статуса открытия панели. |
||
|
|
|
|
Вертикальное положение кнопки, открывающей панель. |
|
|
|
|
|
Горизонтальное положение кнопки, открывающей панель. |
|
|
|
`() => HTMLElement |
YMapEntity` |
Функция, которая возвращает содержимое панели в виде HTML-элемента или сущности YMapEntity. |
Методы
_onAttach
_onAttach(): void
Возвращается
void
Переопределяет
YMapComplexEntity.__onAttach
_onUpdate
_onUpdate(propsDiff: Partialvoid
Возвращается
void
Переопределяет
YMapComplexEntity._onUpdate
_onDetach
_onDetach(): void
Возвращается
void
Переопределяет
YMapComplexEntity._onDetach