SetFocusコマンド
SetFocusを使用するには、APL 1.1以降が必要です。これよりも古いバージョンのAPLを実行しているデバイスには、別のエクスペリエンスを提供してください。
フォーカスのあるアクション可能なコンポーネントを変更します。フォーカスを設定したり解除したりできるコンポーネントの詳細については、focusedを参照してください。
一度に1つのコンポーネントのみがフォーカスされます。1つのコンポーネントにフォーカスを設定すると、ほかのコンポーネントのフォーカスが自動的に解除されます。
SetFocusは実行時に以下を実行します。
- ターゲットコンポーネントにフォーカスを当て、コンポーネントの
focused状態をtrueに設定します。 - それまでフォーカスを当てていたすべてのコンポーネントからフォーカスを外し、そのコンポーネントの
focused状態をfalseに設定します。
ターゲットコンポーネントが無効であるか、アクションを実行できない場合、またはinheritParentStateプロパティがtrueに設定されている場合、SetFocusコマンドは無視されます。
プロパティ
SetFocusコマンドには、共通のコマンドプロパティに加えて、以下の表に示すプロパティがあります。typeプロパティはSetFocusに設定します。
コマンドを実行するために値が必要なプロパティの場合、以下の表の「デフォルト」列に「必須」と表示されています。それ以外の場合はデフォルト値が表示されますが、デフォルト値がないこともあります。
| プロパティ | 型 | デフォルト | 説明 |
|---|---|---|---|
componentId |
セレクター | :source |
フォーカスを設定するコンポーネントです。 |
たとえば、次のコマンドは、idがmyButtonである特定のコンポーネントにフォーカスを設定します。
{
"type": "SetFocus",
"componentId": "myButton"
}
SetFocusコマンドは遅延なく、高速モードで実行されます。
componentId
コマンドのターゲットコンポーネントを識別するセレクターです。指定しない場合は、デフォルトで:sourceになります。:sourceセレクターは、SetFocusコマンドを発行したコンポーネントをターゲットにします。
コンポーネントにフォーカスを当てた状態でドキュメントを開くには、ドキュメントのonMountプロパティをSetFocusに設定します。
たとえば、ドキュメントのマウント時にidがmyButtonであるコンポーネントにフォーカスするには、次のように記述します。
{
"onMount": {
"type": "SetFocus",
"componentId": "myButton"
}
}
SetFocusの例
次の例は、ドキュメントのonMountハンドラーでSetFocusを実行します。この例では、textStyleFocusableというスタイルを定義しています。これにより、テキストの色とフォントスタイルを変更して、フォーカスのあるコンポーネントを示しています。
関連トピック
最終更新日: 2025 年 12 月 12 日