
Giriş
Bir kısayolu dinlemeniz gerektiğinde, normaldeonKeyDown olay dinleyicisini kullanırsınız.
Ancak twenty-front uygulamasında, aynı anda monte edilmiş farklı bileşenlerde kullanılan aynı kısayollar arasında çakışmalar olabilir.
Örneğin, Enter tuşunu dinleyen bir sayfanız ve Enter tuşunu dinleyen bir modalınız varsa, ve modalın içinde Enter tuşunu dinleyen bir Seçim bileşeni varsa, hepsi aynı anda monte edildiğinde bir çakışma yaşayabilirsiniz.
useScopedHotkeys hook’u
Bu sorunu ele almak için, kısayolları çakışma olmadan dinlemeyi mümkün kılan özel bir kanca geliştirdik.
Bir bileşene yerleştirirsiniz ve sadece bileşen monte edildiğinde VE belirtilen kısayol kapsamı aktif olduğunda kısayolları dinleyecektir.
Pratikte kısayolları nasıl dinleyebilirsiniz?
Kısayol dinleme kurulumu iki adımdan oluşur:- Kısayolları dinleyecek kısayol kapsamını ayarlayın
- Kısayolları dinlemek için
useScopedHotkeyshook’unu kullanın
Kısayollar için kullanım durumları
Genel olarak, kısayollara ihtiyaç duyan iki kullanım durumunuz olacaktır:- Bir sayfada veya bir sayfada monte edilmiş bir bileşende
- Bir kullanıcı eylemi nedeniyle dikkati çeken modal-tipi bir bileşende
Bir sayfada kısayolları dinlemek
Örnek:Modal-tipi bir bileşende kısayolları dinlemek
Bu örnekte, ebeveynine kapanmasını söylemek için Escape tuşunu dinleyen bir modal bileşeni kullanacağız. Burada kullanıcı etkileşimi, kapsamı değiştirmektir.Kısayol kapsamı nedir?
Kısayol kapsamı, kısayolların aktif olduğu bir bağlamı temsil eden bir dizedir. Genellikle bir enum olarak kodlanmıştır. Kısayol kapsamını değiştirdiğinizde, bu kapsamı dinleyen kısayollar etkinleştirilecek ve diğer kapsamları dinleyen kısayollar devre dışı bırakılacaktır. Aynı anda yalnızca bir kapsam ayarlayabilirsiniz. Örneğin, her sayfa için kısayol kapsamlarıPageHotkeyScope enum’unda tanımlanmıştır: