Skróty klawiszowe
useKeymap, sekwencje, nakładka pomocy ?, podpowiedzi klawiszy i paleta poleceń.
Zadeklaruj skróty klawiszowe raz za pomocą useKeymap. Text.js kieruje je do obsługi, wyświetla w nakładce ? i w stopce oraz pozwala je wyszukiwać w palecie poleceń.
useKeymap( { "j, down": { label: "Next", run: next, hint: true }, "k, up": { label: "Previous", run: previous }, "g g": { label: "Go to top", run: top }, "ctrl+s": { label: "Save", run: save, hint: true }, }, { group: "Navigation" },);return ( <> <StatusBar right={<Text color="subtle">main</Text>}> <KeyHints /> </StatusBar> <CommandPalette commands={commands} /> <KeyHelp /> </>);useKeymap
| Składnia | Znaczenie |
|---|---|
ctrl+k | Modyfikatory: ctrl alt shift meta mod |
mod+k | ⌘ lub Ctrl, zależnie od tego, który jest wciśnięty |
j, down | Alternatywy |
g g | Sekwencja (1 sekunda między klawiszami) |
G | Wielka litera oznacza Shift |
? | Klawisze drukowalne są dopasowywane do znaku |
Wartością jest handler lub powiązanie z label, group, hint, disabled i noRepeat. Powiązania bez etykiet działają, ale nie pojawiają się w nakładce pomocy.
useKeymapBindings() zwraca aktualnie aktywne powiązania z etykietami do wykorzystania we własnych stopkach i menu.
Mapy klawiszy działają przez useInput, więc obowiązują zwykłe reguły: pola z fokusem mają pierwszeństwo, dopasowany klawisz zatrzymuje propagację, a otwarty <Modal> wyłącza powiązania poza nim. Przekaż { priority, global, isActive }, aby to zmienić.
<KeyHelp>
Naciśnij ?, aby wyświetlić wszystkie powiązania z etykietami, podzielone na grupy. Lista pokazuje powiązania aktywne w miejscu otwarcia nakładki.
<KeyHelp keys="?" title="Keyboard shortcuts" /><KeyHints> i <StatusBar>
<KeyHints /> pokazuje powiązania oznaczone hint: true lub jawnie podane items. <StatusBar> to jednowierszowa stopka ze slotem right.
<StatusBar right={<Text color="subtle">▼ iad1</Text>}> <KeyHints items={[{ keys: "ctrl+k", label: "commands" }]} /></StatusBar><Kbd>mod+k</Kbd> renderuje pojedynczy klawisz. formatKeys("ctrl+shift+p") daje ⌃⇧P w systemie macOS, a ctrl+shift+P w pozostałych systemach.
<CommandPalette>
Ctrl+K (lub Ctrl+P) otwiera wyszukiwarkę poleceń i wszystkich powiązań z etykietami, z dopasowaniem przybliżonym i podświetleniem dopasowanych liter.
<CommandPalette commands={[{ id: "theme", label: "Toggle theme", group: "View", run: toggleTheme }]}/>| Prop | Opis |
|---|---|
commands | { id, label, group?, keys?, keywords?, run }[] |
keys | Skrót klawiszowy otwierający paletę (domyślnie ctrl+k, ctrl+p; null wyłącza) |
includeKeymap | Wyświetlanie powiązań mapy klawiszy (domyślnie true) |
open / onOpenChange | Sterowanie zewnętrzne |
Paleta zamyka się przed uruchomieniem polecenia, więc polecenia mogą otwierać własne okna modalne. Funkcje fuzzyMatch i fuzzyFilter są eksportowane do wykorzystania we własnych listach.