![](/img/trans.png)
[英]Update input value onchange/oninput of another using calendar selector
[英]Using <input oninput= … with current value in textbox
我的React组件内部有一个简单的HTML输入标签,因此定义如下:
<input type="text" onInput={(value) => {
search(value);
return value;
}}/>
通过使用oninput
,每当文本框中的值发生更改时,我都希望使用文本框中的当前值作为参数来调用search
方法。 因此,在同一组件中定义了search
方法:
const search = _.debounce((value) => {
doSomething(value);
}, 500);
在Chrome开发工具中调试时,我看到该value
具有以下值,而不是文本框中的当前值:
[[Handler]]: Object
[[Target]] : SyntheticEvent
[[IsRevoked]] : false
我究竟做错了什么? 如何调用搜索并在文本框中提供当前值作为参数? 在线示例显示oninput
的用法类似于<input type="text" oninput="myFunction()">
,但它们没有显示如何将文本框中的值作为输入传递给oninput
事件上调用的函数。
您的onInput
函数的参数是一个JavaScript Event
对象。 要提取它的值,您必须首先将输入框的值绑定到某些东西:
<input
type="text"
value={this.state.value}
onInput={this.handleSearch}
/>
然后在组件方法中,使用event.target
提取此值,该值使您可以查看DOM元素的属性(我们需要value
属性):
handleSearch(event) {
this.setState({value: event.target.value});
this.search(event.target.value); // Or wherever your search method is
}
编辑:重命名搜索=> handleSearch以避免混淆:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.