Salesforce モバイルアプリケーションでの「プルして更新」の無効化

「プルして更新」を誤ってトリガすると Salesforce モバイルアプリケーションのデータが失われるおそれがあるページでは「プルして更新」を無効にします。「プルして更新」を無効にするには、単に CustomEvent を起動します。独自のコンポーネントでこのイベントを起動するか、Salesforce 組織全体で使用できるコンポーネントを作成します。

「プルして更新」は、モバイルアプリケーションの画面に表示されるデータを再読み込みする方法としてモバイルアプリケーションで長年にわたって確立された操作です。これは、Salesforce モバイルアプリケーションのほぼすべての画面のデフォルト動作です。ただし、フォームへのデータの入力中に「プルして更新」をトリガするとフォームが更新され、フォームに入力した値が失われます。カスタムイベントを使用して、Lightning Web コンポーネント内からすべての画面で「プルして更新」を無効化できます。

最初に、次に示すように updateScrollSettings という名前の CustomEvent とデータペイロードを作成します。

次に、このイベントを起動します。

このイベントは Salesforce モバイルアプリケーション外では何の効果もありません。デスクトップユーザに対する Salesforce の動作に影響を与えることなく、デスクトップとモバイルで共有されるページで含めることができます。

次のコード例では、Salesforce モバイルアプリケーション内で含まれているページで「プルして更新」を無効にする、という 1 つの動作のみを行うコンポーネントを示しています。このコンポーネントはユーザインターフェースを持っていません。つまりコンポーネントが含まれるページに視覚的な効果を全く及ぼしません。

組織でコンポーネントを作成し、「プルして更新」を無効にする必要があるすべての場所で使用します。このコンポーネントをページまたはレイアウトに追加するだけで、Lightning ページ、フロー、レコードページに追加できます。「プルして更新」がコンポーネントの意図した動作と干渉する可能性がある場所に作成したカスタムコンポーネントに子コンポーネントとして追加することもできます。

コンポーネントのメタデータに適切な対象を追加して、役に立つすべてのコンテキストで使用できます。

このコンポーネントにはユーザインターフェースがありません。その唯一の目的は、「プルして更新」を無効にするイベントを起動することです。そのため、コンポーネントのテンプレートは空です。

このコンポーネントは、読み込まれたらすぐに「プルして更新」を無効にするイベントを起動する、という 1 つのことを行います。イベントを起動する関数を定義し、connectedCallback ライフサイクルフックでその関数をコールします。

関連トピック