On Load
概要
The 読み込み時 のインタラクションは、Avonni Dynamic Components でアクションを実行できる重要な機能です 自動的に、表示直前に コンポーネントがページで表示可能になる直前に。コンポーネントの初期化フェーズでは、必要なデータの取得、セットアップロジックの実行、変数の準備を一度だけ行うことができ、レンダリングの瞬間にコンポーネントに必要なものがすべて揃っている状態を確保します。
コンポーネントの準備
「読み込み時」インタラクションは、本番前に舞台を整える設営チームだと考えてください。これは 一度だけ コンポーネントが読み込まれたときに 前に どの視覚要素が現れるよりも。
これにより、次の用途に最適です:
必須データの事前読み込み: 即時表示や使用に必要な特定のレコードを取得します。
変数の初期化: コンポーネントの動作や表示を制御する変数に、デフォルト値や計算値を設定します。
セットアップフローの実行: 初期状態を決定したり複雑なセットアップを実行するために(自動起動フロー経由で)バックグラウンドロジックを実行します。
条件付き表示: 表示可否を制御するために変数値を設定します。
重要ポイント
「読み込み時」は 前に レンダリングの前に実行されるため、 できません キャンバス上のコンポーネント( @ComponentName
を使用)をそのアクション内で参照することは。これはデータと初期化用リソース(入力変数やグローバル変数など)のみに基づいて動作します。
「読み込み時」が特に役立つのはいつ?
を設定している場合でも、 ターゲットオブジェクト API 名
により現在のレコードへアクセスを提供する $Component.record
がレコードページ上で使える一方で、「読み込み時」インタラクションは他の多くのシナリオでも不可欠です:
関連レコードの取得: 主レコードに紐づくデータを取得(例: 取引先責任者を表示中に親の取引先を取得)。
モーダル/パネル用データの読み込み: 特に、モーダルやパネルで別の Dynamic Component を開く場合(「動的コンポーネント ダイアログ/パネルを開く」を使用)、 モーダル/パネル側のコンポーネント では、渡された ID に基づいて特定レコードのデータを取得するために「読み込み時」を使用します。(下記の例を参照)
特定の設定レコードの取得: カスタムメタデータや設定など、既知のレコードからデータを読み込みます。
初期計算/集計の実行: 「フローを実行」を用いて、KPI の計算、関連レコードの件数カウント、結果表示前の複雑ロジックの実行を行います。
外部設定の読み込み: 「フローを実行」を使用して、他システムから設定やデータを取得します(フローが対応している場合)。
「読み込み時」で利用可能なアクション
「読み込み時」イベント内で、1 つ以上のアクションを順番に実行するよう設定できます:
レコードを取得: この機能は、ID に基づいて単一の Salesforce レコードを取得します。特定のレコードを表示や編集のために取得するのに最適で、特にモーダルや関連データを扱う場合に有効です。
フローを実行: を実行 自動起動 の Salesforce フロー。単純なレコード取得を超える内容(複雑な計算、集計用に複数レコードの取得、権限チェック、設定データの取得など)に使用します。
生体認証: このアクションは、ユーザーに対してデバイスレベルの生体認証(指紋や顔 ID など)を要求します。主にモバイル環境(Salesforce モバイルアプリやカスタムモバイルソリューションなど)で、ユーザーの本人確認を行うために使用されます 前に コンポーネントのコンテンツへのアクセスを許可します。ユーザーに表示するプロンプトやフォールバック方法を設定できます。
設定手順
アクション詳細を構成
対象:
レコードを取得
:レコード変数: 次を選択 事前定義されたレコード変数リソース (正しいオブジェクト種別の) 取得したデータを格納する場所です。
オブジェクト API 名: 取得したいオブジェクトを選択します(例:
取引先責任者(Contact)
).レコード ID: 取得するレコードの ID を指定します。これは多くの場合、次にバインドされます:
1 つの 入力変数 (このコンポーネントが別のコンポーネントから開かれ、ID が渡される場合)。
URL パラメータ(
@recordId
).次のフィールド:
$Component.record
(例:$Component.record.AccountId
).
フィールド: 取得したい特定のフィールドを選択します。
対象:
フローを実行
:フロー API 名: あなたの 自動起動 フローを選択します。
フロー入力変数(任意): フローの入力に値(固定値、URL パラメータ、リソース)をマッピングします。
出力変数(任意): フローの出力を 変数リソース にマッピングします(Dynamic Component 内)。
例: 編集モーダルで取引先責任者データを読み込む
このユースケースは、インタラクション経由で開かれたコンポーネント用に「読み込み時」がどのようにデータを準備するかを示します。
シナリオ
取引先責任者のリスト(コンポーネント A)があります。取引先責任者の横の「編集」ボタンをクリックすると、別の Dynamic Component(コンポーネント B)がモーダルダイアログで開き、その 特定の 取引先責任者を編集します。
設定
コンポーネント A(取引先責任者リスト)
取引先責任者を表示する Avonni リストまたはデータテーブルを含みます。
データテーブル内の各取引先責任者には「編集」ボタンが含まれています。これは、テーブル設定でボタンタイプを選択して新しい列として追加できます。

「編集」ボタンには、次を使用する「クリック時」インタラクションがあります: 「動的コンポーネント ダイアログを開く」.
コンポーネント B(編集モーダル):
入力変数を作成
を有効にします。 テキスト変数 という名前の inputContactId
。これを 「入力を許可」にします。これはコンポーネント A から ID を受け取ります。
理由
The inputContactId
テキスト変数は、コンポーネント B(モーダルダイアログ)が開かれたときに、コンポーネント A(取引先責任者リスト)から選択された取引先責任者の ID を受け取ります。これを 入力を許可 としてマークすると、コンポーネント A が取引先責任者 ID を渡せるようになり、コンポーネント B はその ID を使用して正しい取引先責任者レコードを取得・表示して編集できます。

レコード変数を作成
を有効にします。 レコード変数 という名前の contactToEdit
。その オブジェクト API 名を設定 最小(Min) 取引先責任者(Contact)
.
理由
The contactToEdit
レコード変数は、モーダルダイアログで編集される特定の取引先責任者レコードのデータを保存します。これにより、コンポーネントは取引先責任者のデータ(例: FirstName
, Email
)を、取引先責任者リストから渡された ID に基づいて取得、表示、更新できます。これにより、モーダルが正しいレコードで動作することが保証されます。

コンポーネント B に「読み込み時」インタラクションを追加
コンポーネント B(最上位)を選択します。
次にアクションを追加: 読み込み時 イベント
理由
The 読み込み時 インタラクションは、コンポーネント B(モーダルダイアログ)が読み込まれ、表示される前に自動的に実行されます。これにより、(コンポーネント A から渡された ID を使用して)特定の取引先責任者レコードのデータを取得し、それを contactToEdit
レコード変数に保存できます。これにより、モーダルが開いた直後から編集に必要な正しいデータで埋められます。

「レコードを取得」アクションを構成
アクションタイプ:
レコードを取得
.レコード変数: を選択し、
{!contactToEdit}
.オブジェクト API 名:
取引先責任者(Contact)
.レコード ID: これを入力変数にバインド:
{!inputContactId}
.
理由
The レコードを取得 アクションは、コンポーネント B(モーダルダイアログ)の読み込み時に、特定の取引先責任者レコードのデータを取得します。レコード変数を contactToEdit
に設定することで、取得データは編集用にそこへ保存されます。オブジェクト API 名は取引先責任者オブジェクトを指定し、レコード ID を inputContactId
にバインドすることで、コンポーネント A(取引先責任者リスト)から渡された ID に基づいて正しい取引先責任者レコードを取得します。

入力フィールドを追加
この 読み込み時 インタラクションを構成したら、コンポーネント B(モーダルダイアログ)に、取引先責任者レコードを編集するための入力フィールドを追加します。Component Builder で、コンポーネントメニューの Fields タブに移動し、必要なフィールドをキャンバスにドラッグして、次にバインドします: contactToEdit
レコード変数にバインドして、正しい取引先責任者データを表示・編集します。
理由
入力フィールドにより、ユーザーはモーダル内で取引先責任者のデータ(例: FirstName
, Email
)を確認・変更できます。フィールドを contactToEdit レコード変数にバインドすることで、「 読み込み時 」インタラクション中に取得された特定の取引先責任者レコードのデータで自動的に入力され、正確な編集が可能になります。

コンポーネント A からのインタラクション
データテーブル内の 編集 ボタン(コンポーネント A の取引先責任者リスト)でコンポーネント B(モーダルダイアログ)を開けるようにするには、次の手順に従います:
データテーブルを選択: コンポーネント A で、Component Builder 内のデータテーブルを選択します。
インタラクションタブへ移動: コンポーネントメニューの インタラクション タブに移動します。
行アクションを追加: Row Actionsの下で、 編集 ボタン(前に作成)用の新しいアクションを追加します。
インタラクションタイプを設定: 次を選択: 動的コンポーネント ダイアログを開く をインタラクションタイプとして。
コンポーネント B を選択: 開く対象コンポーネントとしてコンポーネント B(モーダルダイアログ)を選びます。
入力変数を構成:
inputContactId 変数(コンポーネント B で「入力を許可」に設定)を選択します。
値を次に設定 レコード: Id にして、選択行の取引先責任者 ID を渡します。

理由 このインタラクションにより、各データテーブル行の 編集 ボタンがコンポーネント B にリンクされ、選択された取引先責任者の ID が inputContactId 変数に渡されます。コンポーネント B はこの ID を自分の 読み込み時 インタラクションで使用して、編集用の正しい取引先責任者レコードを取得・表示し、スムーズで正確な編集プロセスを実現します。
結果
ユーザーがコンポーネント A で「編集」をクリックすると、コンポーネント B が開きます。 前に コンポーネント B が表示される、その「読み込み時」インタラクションが発火し、渡された inputContactId
を使用して「レコードを取得」で取引先責任者の完全なレコードを取得し、 contactToEdit
変数に格納します。入力フィールド( contactToEdit
にバインド)は、その後レンダリングされ、正しい取引先責任者データで既に埋められており、すぐに編集できます。
変数が更新され、それらの値を使用してデータテーブルをフィルタリングできます。
自動起動フローのみ: 「フローを実行」には自動起動フローが必要です。
レコード ID のソース: 「Get Records」に対して有効なID(しばしば入力変数やURLパラメータから)を持っていることを確認してください。
一度だけの実行: レンダリング前に一度だけ実行されます。
キャンバスコンポーネント参照なし: 「On Load」中にキャンバス上のコンポーネント(例:
@MyComponent
)を参照することはできません。パフォーマンス: コンポーネントの表示を遅らせないように「On Load」アクションは効率的に保ってください。
エラーハンドリング: フローを使用する場合はエラーハンドリングを実装してください。
まとめると
On Loadインタラクションは、データの準備や変数の初期化を行うための重要なツールです 前に あなたのダイナミックコンポーネントがレンダリングされます。使用して レコードを取得
特定のレコードを取得します(特に関連データやモーダル/パネル用のデータ)。 フローを実行
より複雑なセットアップロジックや計算、設定取得のために使用します。
最終更新
役に立ちましたか?