我根据官方文档创建了一个自定义 ReactiveComponent:https ://docs.appbase.io/docs/reactivesearch/v3/advanced/reactivecomponent/
这工作正常,但是当我使用组件并清除自定义组件的过滤器时,如何更新自定义组件的 ui 状态?
使用文档中的示例:清除颜色过滤器时,如何更新 ColorPicker UI 状态以反映未选择颜色?
在文档中没有找到与此相关的任何内容。
我根据官方文档创建了一个自定义 ReactiveComponent:https ://docs.appbase.io/docs/reactivesearch/v3/advanced/reactivecomponent/
这工作正常,但是当我使用组件并清除自定义组件的过滤器时,如何更新自定义组件的 ui 状态?
使用文档中的示例:清除颜色过滤器时,如何更新 ColorPicker UI 状态以反映未选择颜色?
在文档中没有找到与此相关的任何内容。
万一其他人遇到同样的问题:如果您清除过滤器,则渲染道具包含一个值对象,该对象设置为 null。这样可以有条件地更新 ColorPicker UI 状态(或您使用的任何自定义组件)。
如果我明白你需要使用通过渲染道具来的价值。
这是我项目中的一个示例用法
render={({ data, handleChange, value }) => {
return (
<div
role="listbox"
aria-label="SpecialCategoryFilter-items"
className="list-filter"
>
{data.map((item) => (
<p
className="button-large-item"
key={item.key}
role="option"
aria-checked={value[item.key] ? true : false}
aria-selected={value[item.key] ? true : false}
>
<input
style={{ display: "none" }}
type="checkbox"
value={item.key}
onChange={(e) => {
handleChange(e);
}}
id={"SpecialCategoryFilter-" + item.key}
name={"SpecialCategoryFilter-" + item.key}
/>
<label
htmlFor={"SpecialCategoryFilter-" + item.key}
>
<span>{item.key}</span>
</label>
</p>
))}
</div>
);
}}