【发布时间】:2017-08-28 23:46:22
【问题描述】:
我正在尝试在这样的搜索输入中使用onSearch 事件:
render(){
return(
<input type="search" onSearch={ () => console.warn('search') } />
);
}
但是我收到了unknown prop error,有什么解决方法的想法吗?
我想创建一个自动完成输入,当用户点击键盘上的“搜索”图标时触发一个事件。
编辑:
onSearch 不是标准属性,所以我猜 react 不会支持它。由于 onSearch 与按 Enter 键相同,因此使用 onKeypress 即可:
render() {
return (
<main>
<input onKeyPress={ this.onKeyPress } type="search" list="options"/>
<datalist id="options">
{ OPTS.map(item => <option value={ item.nm } key={ item.id } data-id={ item.id } />) }
</datalist>
</main>
);
}
onKeyPress(event) {
if (event.key === 'Enter') {
const id = document.querySelector(`#options option[value="${event.target.value}"]`).dataset.id;
if (id) {
console.warn('user search', id);
}
}
}
【问题讨论】:
-
尝试使用
onSubmit或onChange而不是onSearch。
标签: javascript facebook reactjs input autocomplete