我有一个问题,当您进行搜索并从细化列表中选择一个项目并且不删除所选项目搜索其他内容时,所选项目由于其限制而从列表中消失,我如何将其设置为始终显示精化列表中的选定项目?
如果不创建自定义小部件,目前这是无法实现的。
currentRefinedValues 小部件部分解决了这个问题,因为它列出了所有检查的改进。
我已经在 instantsearch.js 的存储库上打开了一个问题,我认为这应该比 StackOverflow 更适合此请求。
实际上,在内部,已经细化的方面存在于列表中,但它们的相关性不足以在列表中显示。这可以通过调整细化列表的 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: