/
voltage
/
tcheck
Обзор
Документация
Войти
/
voltage
/
tcheck
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
frontend/src/composables/useModalAutoFocus.ts
29 строк
783 B
Владимир
front
29 июн 2026, 21:42
29 июн 2026, 21:42
24ca8be
Код
Авторство
О чём код?
import { onMounted, onUnmounted, type Ref } from 'vue' import { Modal } from 'bootstrap' export function useModalAutoFocus( modalRef: Ref<HTMLElement | null>, focusSelector = 'input:not([type=hidden]), select, textarea' ) { let modalInstance: Modal | null = null const handleShown = () => { if (modalRef.value) { const el = modalRef.value.querySelector(focusSelector) as HTMLElement | null el?.focus() } } onMounted(() => { if (modalRef.value) { modalInstance = Modal.getInstance(modalRef.value) ?? new Modal(modalRef.value) modalRef.value.addEventListener('shown.bs.modal', handleShown) } }) onUnmounted(() => { if (modalRef.value) { modalRef.value.removeEventListener('shown.bs.modal', handleShown) } }) }