Я вижу, что в иерархическом меню реагирующего виджета есть опция по умолчаниюУточнение, но я не могу найти ее в документах .js. Есть ли эквивалент в .js?
Если нет, есть ли обходной путь?
instantsearch.widgets.hierarchicalMenu({
container: '#ais-filterCatMenu',
defaultRefinement: 'Sofa > Sovesofa',
attributes: [
'categories.lvl0',
'categories.lvl1',
],
...
}),
С Instantsearch.js вы можете определить initialUiState
при инициализации поискового клиента.
https://www.algolia.com/doc/api-reference/widgets/instantsearch/js/#widget-param-initialuistate
const search = instantsearch({
// ...
initialUiState: {
indexName: {
query: 'phone',
page: 5,
},
},
});
Я нашел источник https://instantsearchjs.netlify.app/stories/?path=/story/refinements-hierarchicalmenu--with-default-selected-item в их репозитории здесь на github.
Например, вы можете сделать что-то вроде этого
const search = instantsearch({
indexName: 'instant_search',
searchClient,
initialUiState: {
instant_search: { //instant_search is index name
hierarchicalMenu: {
'hierarchicalCategories.lvl0': [
'Cell Phones > Cell Phone Accessories > Car Chargers',
],
},
},
},
});
search.addWidgets([
instantsearch.widgets.hierarchicalMenu({
container: '#hierarchical-menu',
attributes: [
'hierarchicalCategories.lvl0',
'hierarchicalCategories.lvl1',
'hierarchicalCategories.lvl2',
'hierarchicalCategories.lvl3',
],
}),
]);
который в конечном итоге будет выглядеть так. демо кодов и песочницы