SearchRequestメソッドを使用する

日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

この例では、Externalコンポーネントを使用して、ユーザーがSearchRequestをサーバーに送信する前に操作できるようにする方法を示します。このコードを正しく機能させるには、エンティティ管理APIを使用してSearchコンポーネントの 設定を変更する必要があります。設定には、最上位レベルのadvanced:{"waitForEvent":true}値を持つ詳細プロパティが必要です。このフラグは現在、インターフェイスで公開されていません。

警告

再帰的なループが発生しないようにするには、api.search.addFiltersを呼び出すのではなく、SearchRequestオブジェクトを直接変更します。

  const disposeFuncs: Array<Function> = [];

 export default function createExternalRoot(container: HTMLElement) {
   return {
     render(context: any) {
       const {
         api,
        config: { searchIdentifier },
         options,
       } = context;

       // 1. Add the event listener for the search component.
       const disposeFunc = api.search.addListener(
         searchIdentifier,
         "BEFORE_SEARCH",
         ({ searchRequest }) => {
           // Do something with searchRequest here; e.g. modify a field name of a filter.
         }
       );
       // 2. Store the dispose function.
       disposeFuncs.push(disposeFunc);

       // 3. Activate the search component.
       api.search.activate(searchIdentifier);
     },
     unmount() {
       disposeFuncs.forEach(dispose => dispose());
     },
   };
 }
この記事を改善するための提案がある場合は、 お知らせください!