我有一个问题,当你进行搜索时,从refinementList中选择一个项目,而不删除所选项目搜索其他东西,所选项目由于其有限制而从列表中消失,我如何将其设置为始终显示refinementList的所选项目?
答案 0 :(得分:5)
如果没有creating a custom widget,目前无法做到这一点。
currentRefinedValues widget部分解决了这个问题,因为它列出了所有已检查的优化。
我已经打开了an issue on instantsearch.js's repo,我认为这应该比StackOverflow更适合此请求。
答案 1 :(得分:0)
实际上,在内部已经精炼的方面存在于列表中,但它们不足以在列表中显示。这可以通过调整refinementList的sortBy参数来解决。在您使用的示例中,您可以像这样修复它:
search.addWidget(
instantsearch.widgets.refinementList({
container: '#materials',
attributeName: 'materials',
operator: 'or',
limit: 10,
sortBy: ['isRefined', 'count:desc', 'name:asc'],
templates: {
item: facetTemplateCheckbox,
header: '<div class="facet-title">Materials</div class="facet-title">'
}
})
);
注意使用'isRefined'作为sortBy的第一个谓词。这可以确保用户始终可以看到已经精炼的值。
这是新行为的GIF: