无法获得反应自动完成项目选择以触发位置更改

时间:2016-06-13 07:41:25

标签: javascript reactjs autocomplete

我正在使用https://github.com/reactjs/react-autocomplete在我的网络应用中轻松导航。我的用法类似于此处显示的示例:https://github.com/reactjs/react-autocomplete/blob/master/examples/async-data/app.js

当用户选择自动填充项目时,我希望浏览器打开某个网址(在当前窗口中)。

我的代码如下:

onSelect={(value, item) => {
  const url = "/customer/" + item.id;
  //alert(url);
  window.location = url;}
}

如果在自动填充(via cursor keys + enter key)中选择了某个项目,则浏览器不会打开新的网址,这是预期的。相反,浏览器重新加载当前页面并在URL的末尾添加问号。

奇怪的是:当我在alert(url)分配之前放置window.location时,它可以正常工作(浏览器首先显示警报,然后确实打开新网址。)

任何想法我做错了什么?谢谢!

1 个答案:

答案 0 :(得分:0)

好的发现它,反应成分也含有来自。因此,除了触发onSelect回调之外,按Enter键还会触发表单提交。