
Úvod
Pokud potřebujete poslouchat klávesovou zkratku, obvykle použijete posluchač událostíonKeyDown.
Ve twenty-front však můžete mít konflikty mezi stejnými klávesovými zkratkami, které jsou použity v různých komponentách, nasazených současně.
Například, pokud máte stránku, která poslouchá klávesu Enter, a modal, který poslouchá klávesu Enter, s komponentou Select uvnitř tohoto modalu, která poslouchá klávesu Enter, můžete mít konflikt, když jsou všechny nasazeny současně.
Funkce hook useScopedHotkeys
K řešení tohoto problému máme vlastní hook, který umožňuje poslouchat klávesové zkratky bez jakéhokoliv konfliktu.
Umístíte ho do komponenty a bude poslouchat klávesové zkratky pouze když je komponenta nasazena A když je aktivní specifikovaný hotkey scope.
Jak v praxi poslouchat klávesové zkratky?
Jsou potřebné dva kroky k nastavení poslouchání klávesových zkratek :- Nastavte hotkey scope, který bude poslouchat klávesové zkratky
- Použijte hook
useScopedHotkeysk poslouchání klávesových zkratek
Použití klávesových zkratek
Obecně budete mít dva případy použití, které vyžadují klávesové zkratky :- Na stránce nebo v komponentě nasazené na stránce
- V komponentě typu modal, která přebírá fokus kvůli akci uživatele
Poslouchání klávesových zkratek na stránce
Příklad :Poslouchání klávesových zkratek v komponentě typu modal
V tomto příkladu použijeme komponentu typu modal, která poslouchá klávesu Escape, aby svému nadřazenému komponentu řekla, že se má zavřít. Zde interakce uživatele mění rozsah.Co je to hotkey scope?
Rozsah klávesových zkratek je řetězec, který představuje kontext, ve kterém jsou klávesové zkratky aktivní. Obecně je kódován jako enum. Když změníte rozsah klávesových zkratek, klávesové zkratky, které poslouchají tento rozsah, budou povolené a klávesové zkratky, které poslouchají jiné rozsahy, budou zakázané. Můžete nastavit pouze jeden rozsah najednou. Například rozsahy klávesových zkratek pro každou stránku jsou definovány vPageHotkeyScope enumu: