TriggerOutputプロパティが追加されました。遅れて反映(Delayed)、即時反映(Keypress)、フォーカスが外れたときに反映(FocusOut)の3段階で設定が可能です。クラシックのテキスト入力では以前からDelayOutputプロパティとしてオンオフの設定がありました。最近のアップデートでモダンにも一旦DelayOutputプロパティが追加されていましたが、さらにTriggerOutputプロパティに進化しました!挙動の違いについてのご紹介と既定値が以前と変更されていたので、その辺も含めてご紹介します。NOTE2024/7月上旬のバージョン:3.24064.18での確認内容となります。今後のアップデートで変更がある可能性があります。内容については以下に書いてますが、挙動の違いは動画の方が分かりやすいと思ったので動画にしました。見ていただくと違いが分かりやすいと思います。詳細については以下記事の内容をご参考ください。TriggerOutputプロパティ公式のドキュメントは以下となります。※7/5確認時点では英語版でもまだ以前のバージョンの内容となってます。そのうちに更新されると思います。Learnバージョン:3.24064.18の場合モダンのテキスト入力コントロールを追加すると以下のようにプロパティ画面にTriggerOutputプロパティが追加されています。既定値はFocusOut(フォーカスが外れたら反映)です。詳細タブの方を開くとDelayOutputプロパティがあります。既定値はFalse(即時反映)です。使いどころ(ギャラリーのフィルターで使用の場合)このプロパティの使いどころは、特に多いケースとして、テキスト入力コントロールの入力値をギャラリーなどに表示する際のフィルターに使用している場合かと思います。ほかにも入力値を参照して別の項目に反映させるなどもあるかなと思います。クラシックの時からDelayOutputプロパティはあったので、こういった場合はTrueとして反映を遅らせるように自分はしていました。即時反映の場合(TriggerOutputがKeyPress、またはDelayOutputプロパティがFalse)この時にKeyPress(またはDelayOutput:False)となっていると、1文字入力の度にフィルター内容が変わるため、その都度データソースへアクセスしに行きます。この場合はパフォーマンス負荷やAPIコール数が多くなるというデメリットがあります。コレクション値へのアクセスであればAPIコール数がかさむ事はないですが、無駄なアクセスは出来れば避けたいかと思います。公式の記事でもDelayOutputの説明には以下の通り記載があります。DelayOutputをTrue(TriggerOutputの場合はDelayed)の方がパフォーマンス負荷軽減にはよいでしょう。→ここが最新ではTriggerOutputに変わっているので、そのうちに反映されると思います。遅れて反映の場合(TriggerOutputがDelayed、またはDelayOutputプロパティがTrue)上記の通り、ギャラリーに表示するフィルターに使用している場合や他の項目で参照している場合などは無駄なアクセスを低減するためには遅れて反映(Delayed)とした方が良いと思っています。公式にある通り、0.5秒の遅延で変更された事が反映されます。複数文字を入力途中に1文字ずつアクセスしに行くということが避けれます。反映自体は若干遅れますが、0.5秒なのでそれほど気にならないと思います。フォーカスアウトの場合(TriggerOutputがFocusOut)これは新たに追加された挙動です。クラシックの入力コントロールにはありませんでした。テキスト入力コントロールからフォーカスが外れたとき(別の場所クリックやタブで他項目へ移動など)に変更したという事が反映されます。無駄なアクセスがない挙動と言えますが、正直ギャラリーのフィルターに使っている場合はちょっと微妙かなと思いました。他の項目を選択するなどでフォーカスを外さないと反映されないので、「あれっ?効かないじゃん」と思ってしまうかもしれませんし、続けて入力して変更したい場合も一旦フォーカス外さないとダメなので使い勝手としてはイマイチな感触でした。(挙動についてはサンプル動画ご参考ください)他の項目が参照していてその値によって何らかを表示したり、内容チェックしてNotify出すなどの何らかの処理で、フォーカスが外れた場合にだけ動いてほしいケースがあれば使えるかなと思います。使用している場合はバージョンにより既定値が異なり挙動が変わるので注意!すでにモダンの入力コントロールを使用されていて、ギャラリーのフィルター用に使ったりしている場合、バージョン:3.24064.18以降の編集画面で開いた際に、DelayOutput(既定値:False)からTriggerOutput(既定値:FocusOut)に変わっています。このままの状態で公開したら、即時反映→フォーカスアウトでの反映に挙動が変わってしまいますのでご注意ください。NOTE※バージョン:3.24064.18の場合は既定値がFocusOutのためです。将来的には既定値が変わるなどあるかもしれません。普通に追加して使う場合もいままでとは違った挙動(フォーカス外さないと反映されない)となるので、あれ?っとなるかもしれません。その際はこのプロパティをチェックしましょう。個人的なオススメとしてはギャラリーのフィルターに使う場合は特にDelayedとされるのが良いと思います。TIPSフィルター用に使用しているがボタンクリックでデータソースへアクセスしてコレクションに入れているケースでは無関係です。直接データソース参照している場合にケアが必要となります。おわりに今回はモダンのテキスト入力コントロールにTriggerOutputが追加された件についてご紹介しました。選択パターンが増えたのでさらに幅が広がったかと思います。従来と挙動が異なる点があるのでご注意として記事にしました。今回の記事では触れてませんが、モダンのボタン同様に境界半径やボーダー、パディングなどのプロパティも追加されており、現状はまだプレビューではありますがどんどん使い勝手が良くなっています!※さらにプロパティ見るとRequiredとValidationStateもある(以前のアップデート予定でValidateやラベル付けれるようになるよとあったのでその辺っぽい)今後もアップデートされてより良くなりそうですね。GAされるのを心待ちにしましょう!それでは。itこの記事は役に立ちましたか?もし参考になりましたら、下記のボタンで教えてください。Automate技術者へと転身。qiitaや自社HPでも技術ブログを書いていました。YouTubeへサンプル動画をアップしました!YouTube「ヨウセイTube」チャンネルを立ち上げたので、本記事の実装の説明動画をアップしました。ギャラリーフィルター部分の調整その3ではギャラリーの基本的な調整とカスタマイズのサンプルをご紹介します。リストをデータソースとした場合のサンプルです。Fxの数式リファレンスページの構造が新しくなったことを記事にしました。3月にキャンバスアプリ、カードのカテゴリ(コンポーネント)が追加されましたので記事にしています。基本のパレット色(個別の色付け機能)が追加されました!(2023年10月)モダンコントロールに基本のパレット色(BasePaletteColor)が追加されていました!ので各コントロールの対応状況を確認してみました。プルダウン表示について(コンボボックス)今回は他のマスタテーブルのデータをプルダウン系で表示する際のTipsです。少量マスタの場合は対して気にせずよいですが、大量データのマスタを参照する際は制限が出てくるのでそのあたりの実装のサンプルをご紹介します。モダンテーマの機能オンについて2023年からキャンバスアプリのモダンコントロールとモダンテーマが順次リリース、更新されています。その中で本機能をオンにする箇所が変更となったり変更が都度入っています。他の記事を書く際に都度オンにする方法を載せていたんですが、今後も変更の可能性があるのでこの部分のみ記事にしました。トラックバックこの記事へのコメントはありません。トラックバックURLこの記事へのトラックバックはありません。返信をキャンセルする。