ピッカーでの異なるフィールドの表示
cx-pickerフラグメントでのcontextパラメータの設定によって、実行時にピッカーに異なるフィールドが表示されるようにできます。たとえば、ピッカーにフィールドAまたはフィールドBのいずれかを表示できます。
ピッカーで異なるフィールドを表示するには、contextパラメータを使用します。また、次のことも行う必要があります:
-
カスタム変数を作成する
-
ピッカー・オブジェクトのJSONでピッカー・レイアウトの表示プロパティを更新する
ピッカーの構成で説明されているアカウント・ピッカーの使用例を見ていきましょう。
この例では、作成済のピッカーに「住所」および「プライマリ担当者」両方のフィールドが含まれています。
contextパラメータを使用して、カスタム変数の値に応じて「住所」または「プライマリ担当者」いずれかのフィールドが表示されるようにすることができます。
設定方法を次に示します:
1. カスタム変数の作成
まず、ピッカーのオブジェクトでカスタム変数を作成します:
-
「レイアウト」サイド・タブで、
ノードをクリックします。 -
「アカウント」タブで、「変数」サブタブをクリックします。
-
「+ 変数」をクリックします。
-
変数の作成ダイアログで、「変数」オプションが選択されていることを確認し、「ID」フィールドに
showContact
と入力します。 -
「タイプ」フィールドで、「ブール」を選択します。
-
「作成」をクリックします。
2. ピッカー表示プロパティへの条件の追加
次に、アカウント・オブジェクトのJSONのピッカー・レイアウトの表示プロパティに、条件(変数の値に応じてどのフィールドを表示するか)を追加します。
-
「アカウント」タブで、「JSON」サブタブをクリックします。
-
ピッカー・レイアウトの表示プロパティを見つけます。
-
表示プロパティ・セクションで、
"FormattedAddress"
および"PrimaryContactName"
フィールドの2行を次の1行で置き換えます:"{{ $componentContext.showContact ? 'PrimaryContactName' : 'FormattedAddress' }}",
3. ピッカー・フラグメントにおける変数の値の設定
最後に、ピッカー・フラグメント自体の変数の値(trueまたはfalse)を定義します。
-
「レイアウト」サイド・タブで、「Payment_c」ノードをクリックします。
-
「Payment_c」タブ、「テンプレート」タブで、AccountPickerTemplateテンプレートをクリックします。
-
次のスクリーンショットに示されているように、フラグメント・コードが選択されていることを確認します。
ヒント:構造ペインで、ピッカー・テンプレートのフラグメント・コンテナ・ノードを選択すると、同じことが行われます。
-
cx-pickerフラグメントの「プロパティ」ペインの「入力パラメータ」セクションで、contextパラメータの値を設定します。showContact変数はtrueまたはfalseに設定できます:
[[ {'showContact':true} ]]
または
[[ {'showContact':false} ]]
4. 設定のテスト
ここで、各変数の設定をテストします。
-
拡張をプレビューし、showContact変数をtrueに設定して、ピッカーをテストします:
-
次に、拡張をプレビューし、showContact変数をfalseに設定して、ピッカーをテストします: