gpui-focus-handle
Zarządzaj fokusem i nawigacją klawiatury w interfejsach GPUI
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill do obsługi fokusa i nawigacji klawiatury w GPUI. Pozwala budować interfejsy sterowane klawiaturą z prawidłowym śledzeniem fokusa i przechodzeniem między elementami. Wykorzystaj go, gdy pracujesz z FocusHandle, śledzisz stan fokusa lub implementujesz nawigację Tab/Shift-Tab. Umożliwia obsługę zdarzeń fokusa (on_focus, on_blur) i akcji klawiszowych.
Jak używać
Utwórz strukturę komponentu z polem FocusHandle — w metodzie new() pobierz uchwyt fokusa za pomocą cx.focus_handle() i przypisz go do pola struktury.
W metodzie render() oznacz element jako focusable, dodając .track_focus() z referencją do focus_handle, aby system śledził jego stan.
Dodaj obsługę akcji klawiszowych za pomocą .on_action() — na przykład obsłuż Enter, aby wyzwolić logikę biznesową komponentu.
Użyj metody focus_handle.focus(cx) aby programowo ustawić fokus na element, lub is_focused(cx) aby sprawdzić, czy element ma aktualnie fokus.
Obsługuj zdarzenia fokusa — w render() sprawdź is_focused() i dostosuj wygląd lub zachowanie elementu na podstawie stanu fokusa.
Implementuj rozmycie fokusa za pomocą cx.blur(), gdy użytkownik opuści element lub zatwierdzisz akcję.