0

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

我制作了一个用 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"
        />

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

4

1 回答 1

2

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

像这样:

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

this.defaultQuery = function() {
    return {
        match: { dataField: "Value" }
    }
};
于 2019-08-06T14:52:05.690 回答