我有一个子组件表单,一旦用户停止键入,我就会传递和updateDraft函数。这是处理它的最佳方法吗?
const updateTimer = (props) => {
if (this.timeout) clearTimeout(this.timeout)
this.timeout = setTimeout(() => {
props.updateDraft
}, 5000)
};
const Form = (props) => {
return(
<Input type="text"
onKeyUp={updateTimer(props)}
onChange={props.onChange}
/>
)
}
答案 0 :(得分:1)
您可以使用onblur
-用户退出表单时。如果您的功能没什么要做的,则可以轻松使用onchange
,onkeyup
。正如@AndrewL提到的那样,您还可以添加按钮,但是这些解决方案中的任何一个都比设置超时更好。