Как установить свойства начального поиска с помощью Vue InstantSearch? - PullRequest
0 голосов
/ 29 ноября 2018

Я использую компоненты Vue, предоставленные Algolia, для поиска в моем индексе.

https://v2 - vue-instantsearch.netlify.com/getting-started/getting-started.html

Поиск работает просто отлично, но мне интересно, как я могу установить начальные значения, скажем, списка уточнений, который у меня есть при загрузке страницы.

Я настроил поиск так:

<script>
import algoliasearch from 'algoliasearch/lite'

export default {
  name: 'Home',
  data () {
    return {
      searchClient: algoliasearch(
        'APPID',
        'API-KEY'
      )
    }
  }
}
</script>

... и у меня есть такой список уточнений (для краткости вырезано много кода):

<ais-instant-search
  :search-client="searchClient"
  index-name="properties"
>
  <ais-refinement-list
    attribute="borough"
    :sortBy="['name:asc']"
  />
</ais-instant-search>

Как только я попаду на страницу, всеЧекбоксы для списка уточнений пустые ... Я хотел бы знать, как я могу установить некоторые начальные значения / комбинации для запроса по своему вкусу.

Возможно ли даже использование этих компонентов?Я довольно подробно просматривал документы, но не уверен, что вижу что-то подробное.Возможно, я ищу неправильные термины.

Помощь оценена.Благодаря.

1 Ответ

0 голосов
/ 16 апреля 2019

У вас есть 2 способа получить его:

  1. Установить значение по умолчанию en ais-searcher routing, как:
...

routeToState: (routeState) => {
  if(!routeState.foo) {
    routeState.foo = this.bar
  }
  ...
Используйте ref в ваших уточняющих компонентах и ​​выполните его методы:
// in template
<ais-refinement-list
  attribute="foo"
  ref="fooRefinement" />

// In Script

...
mounted() {
  this.$refs.fooRefinement.refine('bar')
}

В этом последнем случае вы должны использовать обещания или setInterval для ожидания метода.

...