Jaa


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.