Мы создаем решение Reactivesearch, и у нас есть требование скрыть или минимизировать фасет (в данном случае SingleList ) после выбора.
Я уже пробовалПриведенный ниже подход использует пользовательскую функцию рендеринга, где я могу проверить, выбрано ли значение и применить условный рендеринг:
render: ({
loading,
error,
data,
handleChange,
value
}) => {
if (value !== "") {
return (
<span>{value}</span>
)
}
else {
return (
<ul>
{
data.map(item => (
<li>
<input
type="radio"
value={item.key}
onChange={handleChange}
/>
<span>
<span>{item.key}</span>
<span>{item.doc_count}</span>
</span>
</li>
))
}
</ul>
)
}
}
Хотя это работает, мне интересно, есть ли более чистый способ, который также позволяет избежатьнужно иметь пользовательский рендер списка. По сути, решение, которое использует рендеринг по умолчанию в случае отсутствия выбора фасетов.