4

我有一个问题,当您进行搜索时,从细化列表中选择一个项目并且不删除所选项目搜索其他内容时,所选项目由于其限制而从列表中消失,我如何将其设置为始终显示所选项目细化列表的项目?

选择了细化列表项

搜索其他东西,但该项目不见了

4

2 回答 2

5

如果不创建自定义小部件,目前这是不可行的。

currentRefinedValues 小部件部分解决了这个问题,因为它列出了所有检查的细化。

我已经在 Instantsearch.js 的 repo 上打开了一个关于这个的问题,我认为这应该比 StackOverflow 更适合这个请求。

于 2016-03-30T21:31:42.397 回答
1

实际上,在内部,已经优化的方面存在于列表中,但它们的相关性不足以在列表中显示。这可以通过调整细化列表的 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:

固定行为

于 2016-06-09T09:59:51.990 回答