KeyboardShortcut controle
Een besturingselement dat wordt gebruikt om toetsenbordgebeurtenissen vast te leggen en erop te reageren.
Notitie
Volledige documentatie en broncode vindt u in de GitHub-opslagplaats voor codeonderdelen.
Omschrijving
Dit codeonderdeel registreert gebeurtenishandlers voor toetsaanslagen zodat sneltoetsen binnen canvas-apps of aangepaste pagina's kunnen worden gebruikt. Het is niet bedoeld voor gebruik in modelgestuurde of portal-apps.
Eigenschappen
Eigenschappen | Omschrijving |
---|---|
KeyConfig |
Een matrix van tekenreeksen die aangeeft naar welke sneltoetsen moet worden geluisterd. De tekenreeks moet worden geserialiseerd met behulp van JSON (voorbeeld gegeven in de volgende sectie). |
OnKey |
De sneltoets die is gedetecteerd. |
Configureer, nadat u het codeonderdeel KeyboardShortcuts
aan het formulier hebt toegevoegd, de eigenschap KeyConfig
met een matrix van toetscombinaties.
Bijvoorbeeld:
["alt + r","alt + a","alt + d","alt + b","alt + p","alt + l","alt + t","alt + k"]
Ga naar de KeyboardJS-bibliotheek voor meer informatie over de tekenreeksen voor toetsenbordcombinaties.
Gedrag
Reageren op de toetsaanslaggebeurtenissen
Wanneer een toetsencombinatie wordt gebruikt, wordt de gebeurtenis OnChange
geactiveerd. De eigenschap OnKey
bevat dan de combinatie.
Mogelijk is er een gebeurtenis OnChange
die vergelijkbaar is met:
If( Self.OnKey = "alt + a",
SetFocus(txtTextbox1)
);
If( Self.OnKey = "alt + r",
UpdateContext({ ctxResizableTextareaEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + b",
SetFocus(txtTextbox2)
);
If( Self.OnKey = "alt + k",
UpdateContext({ ctxPickerEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + d",
UpdateContext({ ctxDropdownEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + l",
UpdateContext({ ctxTagListEvent:"SetFocus" & Text(Rand()) })
);
If( Self.OnKey = "alt + t",
UpdateContext({ ctxTableEvent:"SetFocusOnRow" & Text(Rand()) })
);
Deze gebeurtenishandler stelt de focus in op verschillende besturingselementen, op basis van de gebruikte toetsencombinatie.
Beperkingen
Sommige sneltoetsen worden gebruikt door Power Apps Studio tijdens het bewerken van de app, en sommige worden gebruikt door de browser. Om deze reden werkt dit onderdeel niet voor alle sneltoetsen totdat de gebruiker de focus in de app plaatst.
Dit codeonderdeel kan alleen worden gebruikt in canvas-apps en aangepaste pagina's.
Zie meer beperkingsopmerkingen in het gedeelte Ontwerpuitdagingen voor onderdelen van de GitHub-documentatie.