有没有办法设置默认搜索条件

时间:2019-05-15 16:46:54

标签: reactjs reactivesearch

我正在使用反应式搜索来针对我的弹性搜索索引进行搜索。我希望索引中的一个字段为默认字段。例如,在此应用程序的根级别,您选择一个项目。当您进一步进入应用程序时,您可以进行搜索。现在,您正在搜索所有项目。

我做了一个隐藏按钮,用CSS隐藏。这种方法是一种技巧,并且在清除所有过滤器之前一直有效。没有人看到的切换按钮将清除项目,然后我再次看到所有项目的结果。

        <ToggleButton
          style={{ display: 'none' }}
          componentId="project"
          dataField="project"
          defaultSelected={[projectId]}
          URLParams={false}
          multiSelect={false}
          showFilter={false}
          data={[
            { label: 'Project', value: projectId },
          ]}
          className="project"
        />

是否可以设置默认搜索条件?

1 个答案:

答案 0 :(得分:2)

是的,您可以为此设置默认搜索条件,
在ReactiveList组件中设置defaultQuery并匹配必须为默认值的值。

赞:

<ReactiveList
    componentId="results"
    dataField={datafield}
    sortBy={sort}
    react={{
        and: Query
    }}
    defaultQuery={this.defaultQuery}
/>

this.defaultQuery = function() {
    return {
        match: { dataField: "Value" }
    }
};