javascript ReactJS:当用户停止输入时输入fire onChange(或按下Enter键)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript ReactJS:当用户停止输入时输入fire onChange(或按下Enter键)相关的知识,希望对你有一定的参考价值。
import React, { Component } from 'react';
import TextField from 'components/base/TextField';
const WAIT_INTERVAL = 1000;
const ENTER_KEY = 13;
export default class TextSearch extends Component {
constructor(props) {
super();
this.state = {
value: props.value
};
}
componentWillMount() {
this.timer = null;
}
handleChange(value) {
clearTimeout(this.timer);
this.setState({ value });
this.timer = setTimeout(::this.triggerChange, WAIT_INTERVAL);
}
handleKeyDown(e) {
if (e.keyCode === ENTER_KEY) {
::this.triggerChange();
}
}
triggerChange() {
const { value } = this.state;
this.props.onChange(value);
}
render() {
const { className } = this.props;
return (
<TextField
className={className}
placeholder={l('Search')}
value={this.state.value}
onChange={::this.handleChange}
onKeyDown={::this.handleKeyDown}
/>
);
}
}
以上是关于javascript ReactJS:当用户停止输入时输入fire onChange(或按下Enter键)的主要内容,如果未能解决你的问题,请参考以下文章
Meteor,ReactJS,MongoDB:当用户离开页面时执行某些操作
Reactjs / Graphql:在页面加载时停止执行graphql查询
如何在用户停止输入时才开始搜索?
当用户未登录时重定向到登录。 Reactjs [重复]
Javascript:取消/停止图像请求
React js停止循环背景视频