【发布时间】:2018-09-10 21:35:40
【问题描述】:
我已经按照 ReactiveSearch 的教程进行操作,并且我将它与 React 和 Appbase.io 上托管的 Elastic 实例一起使用。
我希望用户看到自动建议,但只能从建议列表中进行选择(因此如果“foo”不在建议列表中,则不应执行查询)。
这是因为我不想有一个搜索结果页面,只是为了让应用程序根据所选值立即将您带到正确的页面。
我认为我可以使用 strictSelection 和 onValueSelected 来做到这一点,但它仍然允许像“foo”这样的值(它不是自动完成值)通过.
import React, { Component } from "react";
import ReactDOM from "react-dom";
import { ReactiveBase, DataSearch } from "@appbaseio/reactivesearch";
class Main extends Component {
render() {
return (
<div className="flex-col lighter">
<ReactiveBase
app="bravos"
credentials="b8AuX6o06:19f6637f-0a80-48f7-8fe7-9fa0339b7c71"
>
<DataSearch
className=""
autosuggest={true}
strictSelection={true}
componentId="search"
placeholder="Search Name/Ticker"
dataField={["symbol", "name"]}
onValueSelected={value => {
document.location.href = `./${value}`;
}}
/>
</ReactiveBase>
</div>
);
}
}
ReactDOM.render(<Main />, document.getElementById("root"));
【问题讨论】:
-
请查看how to ask 和MVCE 然后
edit根据 SO 指南将相关代码嵌入问题正文中。这使当前用户更容易为您提供帮助,未来的用户可以查看您的问题是否会帮助他们而无需在网络上跳来跳去,而且还可以确保 SO 本身 Q/A 的完整性 - 如果链接变得无法访问,这篇文章将变得无用。谢谢你,祝你找到解决办法。 -
@SherylHohman 当然更新了,谢谢。
标签: reactjs elasticsearch reactivesearch