KeyboardShortcut 제어
키보드 이벤트를 캡처하고 작동하는 데 사용되는 컨트롤입니다.
노트
GitHub 코드 구성 요소 리포지토리에서 전체 설명서 및 소스 코드를 확인할 수 있습니다.
Description
이 코드 구성 요소는 키보드 단축키를 캔버스 앱 또는 사용자 정의 페이지 내에서 사용할 수 있도록 키 누르기 이벤트 핸들러를 등록합니다. 모델 기반 또는 포털 앱에서 사용하기 위한 것이 아닙니다.
속성
Property | Description |
---|---|
KeyConfig |
청취할 키보드 단축키를 나타내는 문자열 배열입니다. 문자열은 JSON을 사용하여 직렬화해야 합니다(다음 섹션에 제공된 예). |
OnKey |
감지된 키보드 단축키입니다. |
KeyboardShortcuts
코드 구성 요소를 양식에 추가한 후 키 조합의 배열로 KeyConfig
속성을 구성합니다.
예:
["alt + r","alt + a","alt + d","alt + b","alt + p","alt + l","alt + t","alt + k"]
키보드 조합 문자열에 대한 자세한 내용은 KeyboardJS 라이브러리로 이동하십시오.
동작
키 입력 이벤트에 응답
키 조합을 사용하면 OnChange
이벤트가 발생합니다. 그런 다음, OnKey
속성은 조합을 보유합니다.
다음과 유사한 OnChange
이벤트가 있을 수 있습니다.
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()) })
);
이 이벤트 처리기는 사용된 키 조합에 따라 다양한 컨트롤에 초점을 맞춥니다.
제한 사항
일부 키보드 단축키는 앱을 편집하는 동안 Power Apps Studio에서 사용하고 일부는 브라우저에서 사용합니다. 이러한 이유로 이 구성 요소는 사용자가 앱 내부에 포커스를 둘 때까지 모든 키보드 단축키에 대해 작동하지 않습니다.
이 코드 구성 요소는 캔버스 앱 및 사용자 정의 페이지에서만 사용할 수 있습니다.
GitHub 문서의 구성 요소 디자인 과제 섹션에서 더 많은 제한 사항을 참조하세요.