Javascript 使用reactjs重置或清除输入字段
我有以下问题 我有一个react组件,它可以在列表上进行筛选搜索,但我想用一个按钮清除输入字段,如果我向输入字段添加一个值属性,我可以在setState中设置该属性,但它会停止onChange,因为它在列表上进行筛选搜索: 我已经创建了以下内容,但仍然不起作用Javascript 使用reactjs重置或清除输入字段,javascript,reactjs,Javascript,Reactjs,我有以下问题 我有一个react组件,它可以在列表上进行筛选搜索,但我想用一个按钮清除输入字段,如果我向输入字段添加一个值属性,我可以在setState中设置该属性,但它会停止onChange,因为它在列表上进行筛选搜索: 我已经创建了以下内容,但仍然不起作用 <input type="text" ref="form" placeholder="Search indicators" className="uk-width-1-1" onChange={this.handleChange}
<input type="text" ref="form" placeholder="Search indicators" className="uk-width-1-1" onChange={this.handleChange} />
<button className="uk-button uk-width-1-1" onClick="React.findDOMNode(this.refs.form).reset()"><i className="uk-icon-undo"></i></button>
此处onClick=“React.findDOMNode(this.refs.form).reset()”
您将字符串分配给按钮的onClick值,而不是函数,如果要分配函数,它应该看起来像onClick={React.findDOMNode(this.refs.form).reset}“
或onClick={()=>React.findDOMNode(this.refs.form).reset()
接下来,如果我没记错的话,findDOMNode
在React中是不推荐的,所以您应该使用ReactDOM来实现这一点
最后,我怀疑存在reset
方法,所以我认为您应该尝试直接改变输入值
试试这个
onClick={()=>this.refs.form.value=''''}
将值设置为空,如下所示:
handleClick = () => {
ReactDOM.findDOMNode(this.refs.form).value = "";
}
是的,onClick需要一个函数或值,而不是字符串。另外,React.findDOMNode()
不推荐使用。您应该使用ReactDOM.findDOMNode();
类Hello扩展了React.Component{
handleChange=(e)=>{
}
handleClick=()=>{
ReactDOM.findDOMNode(this.refs.form).value=“”;
}
render(){
返回(
点击
)
}
}
ReactDOM.render(,document.getElementById('app');
只需使用:
this.refs.form.getInputNode().value = '';
应该做这个把戏如何在功能性component@yaswanthkoneri,对于功能组件,也可以在挂钩的帮助下使用状态和参照