プログラマ38の日記

主にプログラムメモです。

Salesforce: 動的に作成したコンポーネントとの値のやりとり(cmp.getReference)について

「lightning:overlayLibrary」をはじめとして、動的に作成したコンポーネントと、それを表示する元のコンポーネントとで値のやり取りをしたい場合があります。

 

例えば、javascriptのconfirmでは、

var result = window.confirm('ボタンをクリックしてください');

のように、確認ダイアログのクリックしたボタンの結果でtrue/falseが返ってきます。

 

これを「lightning:overlayLibrary」で行う場合次のようになります。

  1. 元のコンポーネントの変数の参照を確認ダイアログに渡す
  2. 確認ダイアログで渡された変数の参照にどのボタンをクリックしたのかの結果をセットする
  3. 元のコンポーネント側で変数の値を取得する

ここで変数の参照を渡すというのが出てきますが次の書き方になります。
{ パラメータ : component.getReference("v.変数名") }

これはattributeの参照なので v.変数の参照 ですが、Contoroller のfunction の参照であれば c.functionの関数名 となります。

 

このあたりの制御は、次の記事の記載内容で使っています。

 

crmprogrammer38.hatenablog.com