Во-первых, ваш код не будет соответствовать требуемому поведению.
Coveo.init
должен вызываться только один раз, он используется для инициализации интерфейса поиска. SearchEndpoint
должен быть установлен только один раз, до инициализации, а не после каждого щелчка «LoadMore».
Затем необходимо изменить запрос, используя События поиска JavaScript и Вызовы JavaScript API .
Таким образом, для вашего случая использования вы можете использовать метод displayMoreResults компонента CoveoResultList
.
Вы также можете следовать примеру пользовательского компонента ShowMore , созданного специалистами Coveo в репозитории пользовательских компонентов JavaScript Search Framework . Вот соответствующая часть displayMoreResults()
метода, вызываемого пользовательским компонентом:
public loadMore() {
this.resultList ? this.resultList.displayMoreResults(this.options.count || 10) : null;
}
public get resultList(): ResultList | null {
const resultListElement = $$(this.root).find('.CoveoResultList');
if (resultListElement) {
return get(resultListElement) as ResultList;
}
return null;
}