デフォルト項目値を含むレコードの作成ページへの移動

事前入力された項目値を含むレコードの作成ページを起動するには、lightning/pageReferenceUtilslightning/navigation を一緒に使用します。

lightning/pageReferenceUtils モジュールには、デフォルト項目値を文字列に符号化および復号化するための encodeDefaultFieldValues() 関数と decodeDefaultFieldValues() 関数が用意されています。符号化文字列を standard__objectPage ページ参照の pageReference.state.defaultFieldValues 属性に割り当てます。

標準アクションでは、デフォルト項目値が URL を介して文字列としてオブジェクトに渡され、リダイレクトと置換が自動的に処理されます。上書きアクションでは、URL から受け取ったデフォルト項目値の文字列の復号化の処理はユーザーが行います。

lwc-recipes サンプルリポジトリの navToNewRecordWithDefaults コンポーネントを参照してください。

この例では、事前入力されたデフォルト値でレコードの作成ページを起動します。

この HTML の例には、取引先責任者を作成するリンクが含まれています。

デフォルト項目値を文字列に復号化するには、encodeDefaultFieldValues() に渡します。符号化文字列をページ参照の state.defaultFieldValues 属性に割り当てます。

デフォルト値を Navigate 関数に渡す前に動的に作成または変更するには connectedCallback() で値を指定します。

次の例では、いくつかの動的項目と値を送信するように上の例を変更しています。

標準アクション動作をカスタムソリューションで上書きするには、モジュールを Aura コンポーネント内にラップします。

lwcNewAccountOverride コンポーネントには、デフォルト項目値を表示する新規取引先レコードページ用のフォームが含まれています。

上書きアクションでは、URL から受け取ったデフォルト項目値の文字列の復号化の処理はユーザーが行います。

次の例では、CurrentPageReference を使用して state からデフォルト項目値を読み取り、符号化文字列を取得します。次に、文字列を decodeDefaultFieldValues() に渡して復号化し、取引先の作成を処理します。

次の例は、lightning-record-edit-form を使用した項目値の事入力に似ていますが、フォームに移動すると defaultFieldValues が動的に生成されます。

すべての復号化されたデフォルト項目値は、文字列としてレコード作成ページに渡されます。たとえば、35000 は数値データ型ではなく、文字列としてページに渡され、Boolean 値 true および false は文字列として渡されます。

このコードを使用するには、[設定] から「オブジェクトマネージャー」と入力します。取引先オブジェクトで、CustomCheckbox__c という API 参照名のチェックボックス項目を作成します。次に、[ボタン、リンク、およびアクション] を選択して [新規] アクションを編集します。[Lightning Experience の上書き] で、[Lightning コンポーネント] を選択し、c:auraOverrideWrapper コンポーネントを選択します。

関連トピック