Dan*_*Dan 9 javascript autocomplete reactjs react-bootstrap
我正在尝试使用 React Bootstrap 中的表单组件构建一个自动完成搜索字段,该组件由浏览器呈现为输入。
这是我在 React 组件中所做的事情:
<FormControl
id="frenchToEnglishInput"
placeholder="type a word..."
aria-label="Recipient's username"
autocomplete="on"
data={frenchToEnglishWords}
onChange={this.fetchFrenchToEnglish}
renderItem = {item => {
return (
<div>
{item}
</div>
);
}}
/>
Run Code Online (Sandbox Code Playgroud)
该frenchToEnglishWords数组在组件外部声明为 a var,因为我打算在输入字段中键入一些值时更新它。
现在这是触发事件的函数onChange:
fetchFrenchToEnglish = async () => {
if(document.getElementById("frenchToEnglishInput").value!==''){
axios.get(dictionaryURIs.english.French_English+""+document.getElementById("frenchToEnglishInput").value)
.then(response => {
frenchToEnglishWords = response.data
})
}
}
Run Code Online (Sandbox Code Playgroud)
在集合上设置自动完成索引后,该请求是从 MongoDb 发出的,但这部分工作正常。
我的问题是,为什么我得到的唯一“自动完成”是由我之前输入的单词组成的?
或者也许我用作输入数据的数组必须是 a const(正如我在许多示例中看到的那样)而不是var?当我输入某个单词时,我没有从frenchToEnglishWords正在从数据库更新的 中得到任何自动建议。
| 归档时间: |
|
| 查看次数: |
6417 次 |
| 最近记录: |