変数
Avonni Dynamic Components の変数リソースはデータを 一時的に コンポーネント内に保存します。これらは動的な動作に不可欠ですが、Salesforce Flows の変数とは重要な違いがあります。
概要
変数は特定のデータ型の値を保持する名前付きコンテナです。変数は以下の用途で使用されます:
コンポーネントの状態を追跡: 現在の状態(例:展開/折りたたみ、適用されたフィルター、表示フラグなど)を表現します。
中間計算: 計算中の一時的な値を保持します。
データの受け渡し: コンポーネントの異なる部分間やネストされたコンポーネントとの間でデータを共有します(Input/Output を使用)。
条件ロジック: 表示を制御したりアクションをトリガーしたりします。
レコードIDを保持: Salesforce のレコード ID を保持します。
変数の作成
リソースパネル: をクリックして、 Resources ボタン。
新規リソース: "+" または 「新規リソース」をクリックします。
「Variable(変数)」を選択します。
設定:
API 名: ユニークで説明的な名前(例:
isPanelVisible
,selectedAccountId
).説明(任意): 変数の目的を説明します。
データ型:
Boolean:
true
またはfalse
.Date: 日付。
Date/Time: 日付と時刻。
Number: 数値。
Record: Container の 参照 Salesforce レコードへの(通常は ID)参照。フルレコードデータを取得するには「On Load」インタラクションで「Get Records」を使用します。 入力する フルのレコードデータ 前に コンポーネントがレンダリングされるときに。
テキスト: テキストの文字列。
複数値(コレクション)を許可: チェックされている場合、変数は リスト (選択したデータ型の)値の集合を保持します。
この Dynamic Component の外部での利用可能性:
Input として利用可能: 許可する 親 コンポーネント(または URL パラメータ)が 設定する この変数の値を。
Output として利用可能: 許可する 親 コンポーネントが 読み取る この変数の値を。
初期値(任意): デフォルト値を設定します。
変数の使用
値の表示: テキストコンポーネントのようなコンポーネントのプロパティ(例:
値
)を変数にバインドします。コンポーネントのプロパティ: プロパティ(例:
Visible
または無効(Disabled)
)をブーリアン変数にバインドします。フィルター: データソースのフィルター(例:Query Data Source)で変数を使用します。
インタラクション: アクションへの入力として変数を渡したり、アクションの出力を変数にキャプチャしたりします。
数式: Formula リソース内で変数を使用します。
あなたは 選択 プロパティパネルやインタラクション設定でリストから変数を選択します。特別な構文を入力する必要は通常ありません。
重要な注意点:データの永続化(またはその欠如!)
レコードの変更は変数をリセットします: 任意の Salesforce レコードを作成、更新、削除、または upsert するインタラクションは Dynamic Component 内のすべての変数を初期値にリセットします。これは Flows との重要な違いです。
永続化のための回避策: レコード変更をまたいで値を維持する必要がある場合、いくつかのオプションがあります、 どれも 理想的ではありませんが、回避策としては以下の通りです:
URL パラメータ: URL にデータを渡します。これは制限があり、URL を煩雑にする可能性があります。
カスタムロジック(Flows): Flow を使ってレコード更新を処理し、データの永続化を慎重に管理します Flow 内で。そして最終結果を Dynamic Component に渡します。これは最も堅牢ですが、同時に最も複雑なオプションです。
ローカルストレージ(注意): ブラウザのローカルストレージ(JavaScript 経由)を使用することを検討することは可能かもしれません。 これは高度な手法であり、制限やセキュリティ上の影響があります。
読み取り専用データ 読み取り専用データの場合、それは完全に機能します。
On load インタラクション: Salesforce レコードが更新されるたびに、コンテキストを更新するために On load インタラクションがトリガーされます。
例
アカウント詳細の表示(On Load)
レコード変数を作成:
currentAccount
(型:Account
).「On Load」インタラクションをあなたの ダイナミックコンポーネント:
アクションタイプ:
Get Records
オブジェクト API 名:
Account
レコードID:
@recordId
フィールド:選択
Id
,Name(名前)
,Industry(業界)
.レコード変数:
{!currentAccount}
テキストコンポーネントを追加し、その
値
プロパティを{!currentAccount.Name}
,{!currentAccount.Industry}
など
最終更新
役に立ちましたか?