You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
В v7 можно передать noFocusToDialog, чтобы решить проблему, но из-за этого будет теряться autoFocus, да и сам баг отстаётся, т.к. кейс с ModalPage лишь пример.
Подробнее в секции Видео → Проблема 2. Переключается фокус.
Версия
>=7.0.0
Видео
На видео используется Пример с воспроизведением 1 из секции ниже.
Проблема 1. Ломается логика работы Tab
2025-02-05.17.08.03.mov
Проблема 2. Переключается фокус
В втором модальном окно теряется фокус с поля ввода на кнопку в первом модальном окне – это связано с неравенством oldFocusableNodes в onMutateParentHandler() из-за появления нового фокусируемого элемента (примере, появление второй кнопки с цифрой 2)
inomdzhon
changed the title
[Bug][FocusTrap]: конфликтует логика с MutationObserver при использовании нескольких FocusTrap
[Bug][FocusTrap]: конфликтует логика хука при использовании нескольких FocusTrapFeb 5, 2025
inomdzhon
changed the title
[Bug][FocusTrap]: конфликтует логика хука при использовании нескольких FocusTrap
[Bug][FocusTrap]: конфликтует логика при использовании нескольких FocusTrapFeb 5, 2025
Описание
При использовать нескольких
FocusTrap
на странице возникают следующие проблемы:ломается логика работы Tab (старая проблема);
может переключаться фокус с одного
FocusTrap
на другойFocusTrap
– условием является изменения количества фокусируемых элементов.Такое может возникнуть при использовании одновременно двух
ModalPage
. После refactor: ModalRoot/ModalPage/ModalCard #6759 уModalPage
параметрautoFocus
зависит отnoFocusToDialog
. Вv6.6.0
, где появилось изменение fix: fix rerender component when slide controlled changes #7485, не будет воспроизводится, т.к. в v6 модальное окно оборачивает вFocusTrap
с зашитымautoFocus={false}
.В v7 можно передать
noFocusToDialog
, чтобы решить проблему, но из-за этого будет терятьсяautoFocus
, да и сам баг отстаётся, т.к. кейс сModalPage
лишь пример.Подробнее в секции Видео → Проблема 2. Переключается фокус.
Версия
>=7.0.0
Видео
На видео используется Пример с воспроизведением 1 из секции ниже.
Проблема 1. Ломается логика работы Tab
2025-02-05.17.08.03.mov
Проблема 2. Переключается фокус
В втором модальном окно теряется фокус с поля ввода на кнопку в первом модальном окне – это связано с неравенством
oldFocusableNodes
вonMutateParentHandler()
из-за появления нового фокусируемого элемента (примере, появление второй кнопки с цифрой 2)VKUI/packages/vkui/src/hooks/useFocusTrap.ts
Line 169 in cec3927
2025-02-05.16.32.46.mov
Пример с воспроизведением
Пример с воспроизведением 1
Рендерим вторую модалку внутри первой, но выносим в портал.
Пример с воспроизведением 2
Рендерим вторую модалку рядом с первой.
Пример как не воспроизводится, но при этом ломает модалки в текущем виде
Рендерим вторую модалку прямо в разметку первой.
The text was updated successfully, but these errors were encountered: