Algolia Instant Search - как не выполнять первоначальный поиск?

Я следовал примеру мгновенного поиска Algolia по адресу https://www.algolia.com/doc/guides/search/instant-search/ (версия javascript)

Я понимаю, что для многих случаев использования (например, в примере) для сценария имеет смысл запускать начальный поиск при загрузке страницы и отображать результаты (в основном все результаты). В моем случае я бы не хотел выполнять этот первоначальный поиск. Как я могу этого добиться?

Спасибо


person user6122500    schedule 18.02.2017    source источник


Ответы (1)


Вы можете передать параметр searchFunction в инициализатор instantsearch, который будет перехватывать каждый поиск и позволять вам решать, выполнять его или нет.

Вот пример из этой проблемы с Github. Поиск не выполняется, если запрос пустой, так как он будет при загрузке страницы.

var search = instantsearch({
  searchFunction: function(helper) {
    if (helper.state.query === '') {
      return;
    }

    helper.search();
  }
});

Если у вас есть своя логика относительно того, когда следует / не следует выполнять поиск, вы можете использовать ее здесь. Для получения дополнительной информации см. вкладку «Использование» раздела «Инициализация» документации.

person Josh Dzielak    schedule 18.02.2017
comment
Идеально! Спасибо - person user6122500; 24.02.2017
comment
Хорошо, но при поиске термина и его удалении результаты поиска остаются открытыми. Этот комментарий помогает: github.com/algolia/instantsearch.js/ вопросы / - person Alcalyn; 13.11.2017
comment
Чтобы закрыть поиск, когда поисковый запрос удаляется с помощью Backspace, я завершил ответ здесь: github.com/algolia/instantsearch.js/issues/ - person Alcalyn; 13.11.2017
comment
Также для удаления надстройки разбивки на страницы - ›document.querySelector ('# pagination'). InnerHTML = ''; - person Keyul; 10.12.2018