有没有办法有一个默认的搜索条件
Is there a way to have a default search criteria
我正在使用反应式搜索来搜索我的弹性搜索索引。我想让索引中的一个字段成为默认字段。例如,在根级别的这个应用程序中,您选择一个项目。当您进一步进入应用程序时,您可以进行搜索。现在,您正在搜索所有项目。
我制作了一个切换按钮,我用 css 隐藏了它。这种方法是一种 hack,并且在我清除所有过滤器之前一直有效。那个没人看到的切换按钮清除了项目,然后我又看到了所有项目的结果。
<ToggleButton
style={{ display: 'none' }}
componentId="project"
dataField="project"
defaultSelected={[projectId]}
URLParams={false}
multiSelect={false}
showFilter={false}
data={[
{ label: 'Project', value: projectId },
]}
className="project"
/>
是否可以设置默认搜索条件?
当然可以,您可以为此设置默认搜索条件,
在 ReactiveList 组件中设置 defaultQuery 并匹配必须为默认值的值。
像这样:
<ReactiveList
componentId="results"
dataField={datafield}
sortBy={sort}
react={{
and: Query
}}
defaultQuery={this.defaultQuery}
/>
this.defaultQuery = function() {
return {
match: { dataField: "Value" }
}
};
我正在使用反应式搜索来搜索我的弹性搜索索引。我想让索引中的一个字段成为默认字段。例如,在根级别的这个应用程序中,您选择一个项目。当您进一步进入应用程序时,您可以进行搜索。现在,您正在搜索所有项目。
我制作了一个切换按钮,我用 css 隐藏了它。这种方法是一种 hack,并且在我清除所有过滤器之前一直有效。那个没人看到的切换按钮清除了项目,然后我又看到了所有项目的结果。
<ToggleButton
style={{ display: 'none' }}
componentId="project"
dataField="project"
defaultSelected={[projectId]}
URLParams={false}
multiSelect={false}
showFilter={false}
data={[
{ label: 'Project', value: projectId },
]}
className="project"
/>
是否可以设置默认搜索条件?
当然可以,您可以为此设置默认搜索条件,
在 ReactiveList 组件中设置 defaultQuery 并匹配必须为默认值的值。
像这样:
<ReactiveList
componentId="results"
dataField={datafield}
sortBy={sort}
react={{
and: Query
}}
defaultQuery={this.defaultQuery}
/>
this.defaultQuery = function() {
return {
match: { dataField: "Value" }
}
};