KeyboardShortcut hallinta
Ohjausobjektia käytetään näppäintapahtumien sieppaamiseen ja niiden pohjalta toimimiseen.
Muistiinpano
Täydellinen dokumentaatio ja lähdekoodi löytyvät koodikomponenttien GitHub-säilöstä.
Description
Tämä koodikomponentti rekisteröi näppäinpainalluksen tapahtumakäsittelijät, jotka sallivat pikanäppäimien käyttämisen pohjaan perustuvissa sovelluksissa tai mukautetuilla sivuilla. Sitä ei ole tarkoitettu käytettäväksi mallipohjaisissa sovelluksissa tai portaalisovelluksissa.
Ominaisuudet
Ominaisuus | Description |
---|---|
KeyConfig |
Merkkijonomatriisi ilmaisee, mitä pikanäppäimiä kuunnellaan. Merkkijono on sarjoitettava käyttämällä JSON-muotoa (esimerkki seuraavassa osassa). |
OnKey |
Havaittu näppäimistön näppäinkoodi. |
Kun KeyboardShortcuts
-koodikomponentti on lisätty lomakkeeseen, KeyConfig
-ominaisuus määritetään näppäinyhdistelmämatriisin avulla.
Esimerkki:
["alt + r","alt + a","alt + d","alt + b","alt + p","alt + l","alt + t","alt + k"]
Lisätietoja näppäimistön yhdistelmämerkkijonoista on kohdassa KeyboardJS-kirjasto.
Toiminta
Näppäinpainallustapahtumiin reagoiminen
Kun näppäinyhdistelmää käytetään, OnChange
-tapahtuma käynnistyy. OnKey
-ominaisuus sisältää sitten yhdistelmän.
OnChange
-tapahtuma voi olla seuraavankaltainen:
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()) })
);
Tämä tapahtumakäsittelijä määrittää kohdistuksen eri ohjausobjekteihin annetun näppäinyhdistelmän mukaan.
Rajoitukset
Power Apps Studio käyttää joitakin pikanäppäimiä sovellusta muokattaessa, kun taas selain käyttää joitakin muita. Tämä vuoksi tämä komponentti ei toimi kaikissa pikanäppäimissä, ennen kuin käyttäjä siirtää kohdistuksen sovelluksen sisälle.
Tätä koodikomponenttia voidaan käyttää vain pohjaan perustuvissa sovelluksissa ja mukautetuilla sivuilla.
Katso rajoituksia koskevat huomautukset GitHub-dokumentaation Component design challenges -osiosta.