[英]Searchkit Range filter min and max value of data
我在使范圍過濾器更具動態性方面遇到問題。
我有一個價格過濾器(RangeFilter),它使用RangeSliderInput作為rangeComponent。 看起來像這樣:
過濾代碼:
<RangeFilter
title="Prijs"
field="verkoopprijs"
id="verkoopprijs"
min={0}
max={100}
showHistogram = {false}
rangeComponent = {RangeSliderInput}
translations={{"range.submit":"Zoeken"}}
/>
而不是硬編碼的最小0和最大100,我想獲取字段verkoopprijs的最小值和最大值。
搜索結果如下所示:
"hits":{
"total":7271,
"max_score":1.0,
"hits":[
{
"_index":"onixts_prod",
"_id":"9783932346729",
"_score":1.0,
"_source":{
"id":"9783932346729",
"jaar":"2015",
"taal":"Duits",
"hoofdtitel":"Therapie-Handbuch Power Tube, Power QuickZap",
"verkoopprijs":38.95,
}
}
]
}
然而。 我不確定如何獲得最小值和最大值。
根據您的搜索結果在名為data
的變量中的事實,要獲取verkoopprijs
字段的最小值和最大值,您可以:
const min = data.hits.hits.reduce((min, curr) => curr.verkoopprijs < min.verkoopprijs ? curr : min, data.hits.hits[0]);
const max = data.hits.hits.reduce((max, curr) => curr.verkoopprijs > max.verkoopprijs ? curr : max, data.hits.hits[0]);
然后,將其用作組件中的min和max
<RangeFilter
title="Prijs"
field="verkoopprijs"
id="verkoopprijs"
min={min}
max={max}
showHistogram = {false}
rangeComponent = {RangeSliderInput}
translations={{"range.submit":"Zoeken"}}
/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.