MDUIDocs
Копировать ссылку llms.txtКопировать ссылку llms-full.txtПросмотреть страницу в MarkdownОбсудить страницу с ChatGPTОбсудить полную документацию проекта с ChatGPT
Предустановленный цвет
Пользовательский цвет
Извлечь цвет из обоев
Пожалуйста, выберите обои
Начало работы
Обзор Установка Быстрый старт Поддержка TypeScript Поддержка IDE Локализация Часто задаваемые вопросы
Разработка с помощью ИИ
Стили
Интеграция с фреймворками
Компоненты
Функции
Библиотеки

Поддержка TypeScript

mdui написан на TypeScript, поэтому обеспечивает хорошую поддержку TypeScript. Все официальные библиотеки mdui поставляются с файлами типов, которые можно использовать напрямую.

Типы экземпляров компонентов

Иногда вам может понадобиться привести переменную JavaScript к типу экземпляра компонента mdui. Для этого вы можете импортировать соответствующий тип компонента непосредственно из mdui.

Например, импорт типа Tooltip из файла компонента:

import type { Tooltip } from 'mdui/components/tooltip.js';

Или импорт типа Tooltip напрямую из mdui:

import type { Tooltip } from 'mdui';

Затем вы можете привести переменную JavaScript к типу Tooltip:

const tooltip = document.querySelector('mdui-tooltip') as Tooltip;

Теперь ваша IDE будет автоматически подсказывать свойства и методы переменной tooltip.

Если вы добавите прослушиватель событий на переменную tooltip, IDE также будет подсказывать имена событий, типы событий и значение this внутри функции обратного вызова:

tooltip.addEventListener('open', function (event) {});

Типы событий

Каждый компонент экспортирует интерфейс, который отображает имена событий компонента и соответствующие им типы объектов событий. Имя интерфейса — ${имяКомпонента}EventMap.

Например, компонент Tooltip экспортирует интерфейс TooltipEventMap:

export interface TooltipEventMap {
  open: CustomEvent<void>;
  opened: CustomEvent<void>;
  close: CustomEvent<void>;
  closed: CustomEvent<void>;
}

Вы можете импортировать этот интерфейс из файла компонента:

import type { TooltipEventMap } from 'mdui/components/tooltip.js';

Или напрямую из mdui:

import type { TooltipEventMap } from 'mdui';

Обратите внимание, что этот интерфейс содержит только специфичные для компонента события, но компоненты mdui наследуются от HTMLElement, поэтому они также поддерживают события HTMLElement. Вы можете использовать пересечение типов (intersection type), чтобы получить все типы событий компонента:

type TooltipAndHTMLElementEventMap = TooltipEventMap & HTMLElementEventMap;
На этой странице