文档
操作
分面排序

RenderFacetsOrder 操作用于按特定顺序渲染分面,并仅显示指定的分面。该 RenderFacetsOrder 操作具有以下属性

  • action:要执行的操作。这必须设置为 RenderFacetsOrder
  • facetOrder:要按指定顺序渲染的分面名称数组。

以下是 RenderFacetsOrder 操作的示例

{
"search_settings": {
"query_rules": [
  {
    "id": "1",
    "conditions": [
      [
        // conditions here
      ]
    ],
    "actions": [
      {
        "action": "RenderFacetsOrder",
        "facetAttributesOrder": ["type", "actors"] // facet attributes.
      }
    ]
  }
]
}
}

要在前端使用 facetAttributesOrder,您需要使用 DynamicFacets 组件。该 DynamicFacets 组件将按 facetAttributesOrder 属性中指定的顺序渲染分面,并隐藏所有其他分面。

以下是 DynamicFacets 组件的示例。在下面的示例中,DynamicFacets 组件将按 facetAttributesOrder 属性中指定的顺序渲染 typeactors 分面,并隐藏所有其他分面。

<DynamicWidgets maxValuesPerFacet={5} fallbackWidget={RefinementList}>
<Panel header="Type">
  <RefinementList attribute="type" searchable={true}/>
</Panel>
<Panel header="actors">
  <RefinementList attribute="actors" searchable={true} limit={10} />
</Panel>
<Panel header="imdbrating">
  <NumericMenu
    attribute="imdbrating"
    items={[
      { label: '5 - 7', start: 5, end: 7 },
      { label: '7 - 9', start: 7, end: 9 },
      { label: '>= 9', start: 9 },
    ]}
  />
</Panel>
<Panel header="metascore">
  <RangeInput attribute="metascore" header="Range Input" />
</Panel>
</DynamicWidgets>

Apache 2.0 2024 © Joseph McElroy。
需要帮助?加入 discord