标题几乎说明了一切。到目前为止,我能够想到的最好的是在搜索栏组件上创建这个isTyping方法,如下所示:
isTyping = debounce(() => {
console.log('typing...');
const callback = () => window.setTimeout(() => this.setState({ typing: false }), 500);
this.setState({ typing: true }, callback);
}, 500)
我正在搜索输入文本组件的onChange
事件处理程序中调用此方法。虽然不行。出于某种原因,在我停止输入后,日志“输入”仍然发生,并且函数没有像我希望的那样在调用过程中将键入状态设置为true。
<div className="fancysearch">
<TextInput
ref = "input"
type = "text"
name = "query"
placeholder = { placeholder }
label = ""
className = "form-control"
defaultValue = { query }
onChange = {this.isTyping}
/>
<b></b>
</div>