React InstantSearch RefinementList transformItems 不工作
React InstantSearch RefinementList transformItems not working
所以我已经在我的应用程序中成功实现了 React InstantSearch 库,并且正在尝试将过滤器应用于优化列表(以确保显示的过滤器与活跃用户相关,并隐藏那些不相关的过滤器't).我试过以下方法:
<RefinementList attributeName="organization" transformItems={items => items.filter(e => refineList.indexOf(e)>=0)} />
其中 refineList 是一个简单的字符串数组(即 ["A"、"B"、"C"])
然而,RefinementList 一直显示所有过滤器选项,而没有应用 "transformItems" 函数。会不会是我误解了 "transformItems" 的工作原理?
关于这个主题的文档非常少,所以我相信它会对图书馆的许多其他用户有所帮助。
transformItems
函数有一个参数:items
。它希望在 return 中恢复。
items
是具有以下形状的对象数组:
{
label: string,
value: array<string>,
count: number,
isRefined: bool,
}
要删除基于字符串数组的优化,您可以这样做:
const refineList = ['A', 'B'];
<RefinementList
attributeName="organization"
transformItems={items => items.filter(e =>
refineList.indexOf(e.label) >= 0)}
/>
所以我已经在我的应用程序中成功实现了 React InstantSearch 库,并且正在尝试将过滤器应用于优化列表(以确保显示的过滤器与活跃用户相关,并隐藏那些不相关的过滤器't).我试过以下方法:
<RefinementList attributeName="organization" transformItems={items => items.filter(e => refineList.indexOf(e)>=0)} />
其中 refineList 是一个简单的字符串数组(即 ["A"、"B"、"C"])
然而,RefinementList 一直显示所有过滤器选项,而没有应用 "transformItems" 函数。会不会是我误解了 "transformItems" 的工作原理?
关于这个主题的文档非常少,所以我相信它会对图书馆的许多其他用户有所帮助。
transformItems
函数有一个参数:items
。它希望在 return 中恢复。
items
是具有以下形状的对象数组:
{
label: string,
value: array<string>,
count: number,
isRefined: bool,
}
要删除基于字符串数组的优化,您可以这样做:
const refineList = ['A', 'B'];
<RefinementList
attributeName="organization"
transformItems={items => items.filter(e =>
refineList.indexOf(e.label) >= 0)}
/>