首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行保存的查询的ReactiveSearch

运行保存的查询的ReactiveSearch
EN

Stack Overflow用户
提问于 2020-04-03 18:17:17
回答 1查看 201关注 0票数 4

我已经在DB中保存了一个查询,并重新调用它以供再次运行。但是,我不知道如何重新运行查询。

我在onChange中获取了查询,并将该值作为字符串保存到DB中,以备以后调用,以便对其进行处理。

代码语言:javascript
复制
<ReactiveBase app={this.props.app} url={config.elastic.URL} >
        <StateProvider
          onChange={(prevState, nextState) => {
            queryString = nextState;
            console.log('onChange');
          }}

如果这样做是正确的,我正在寻找一种将查询字符串放入DataSearch组件的方法。查询是相当大的,因为我有附加到搜索的额外组件。

如果将DataSearch的值设置为我的queryString,则无法在搜索栏中键入内容

代码语言:javascript
复制
<DataSearch
                dataField={this.props.refinement.searchBar}
                componentId="search"
                placeholder="Search books or videos"
                autosuggest={false}
                debounce={debounce}
                showClear={true}
                customQuery={this.props.customQuery}
                defaultValue={this.props.defaultValue}
                value={queryString}
              >
              </DataSearch>

此外,该查询是一个弹性搜索查询,因此我得到了一个满是JSON的搜索栏。我可以获得独立的元素,并将queryString设置为我想要的内容的一半,但是有一个搜索栏我不能输入。

代码语言:javascript
复制
var objectQuery = JSON.parse(selectedQueryString);
queryString = objectQuery.search.value;

更新

这有助于输入searchBar并更新值,甚至可能是DataSearch组件的大部分工作。

代码语言:javascript
复制
value={this.state.value}
    onChange={(value, triggerQuery, event) => {
        this.setState(
            {
                value,
            },
            () => triggerQuery(),
        );
  }}
EN

回答 1

Stack Overflow用户

发布于 2020-04-24 18:27:18

您不能将查询字符串推回到组件中,然后让它处理用于创建查询的所有组件。您必须从查询字符串中获取值,然后再次设置组件的值。然后,将使用via onChange方法重新运行查询。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61009636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档