在 onChange 事件中调用 2 个函数
Call 2 functions within onChange event
我的组件有点卡住了,我需要从道具调用 onChange 所以
<input type="text" value={this.state.text} onChange={this.props.onChange} />
而且还调用组件中名为 handleChange()
更新 state.text 的另一个函数,我试过
<input type="text" value={this.state.text} onChange={this.props.onChange; this.handleChange} />
但这似乎行不通。
您可以通过将
两个函数放在双引号中来做到这一点:
<input type="text" value={this.state.text} onChange="this.props.onChange(); this.handleChange();" />
这应该有效。但是,如果在第一个函数中调用第二个函数会更好:
function testFunction() {
onChange();
handleChange();
}
如果你想要内联解决方案,你可以做这样的事情:
<input type="text" value={this.state.text} onInput={this.props.onChange} onChange={this.props.handleChange} />
onInput 和 onChage 之间的区别在这里:
"输入">元素的"更改"和"输入"事件之间的区别
function(e) {this.props.onChange(e); this.handleChange(e)}.bind(this)
你可能不需要.bind(this)
,但我怀疑你会的。
这将在每个渲染上创建一个新函数,因此在某些方面最好将该函数作为组件方法,但这应该有效。
in react
function handleChange1(){ console.log("call 1st function");}
function handleChange2(){ console.log("call 2nd function");}
function handleChange(){ handleChange1(); handleChange2();}
<input type="text" value={this.state.text} onChange={this.props.handleChange} />
希望你得到答案。
相关文章:
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 在输入字段上有两个函数调用,一个在Blur上,一个不在Angular中
- 如何在Javascript函数调用中循环变量
- Javascript:应为赋值或函数调用,但实际看到的却是表达式
- 如何远程检查JavaScript应用程序的函数调用堆栈
- javascript函数调用不起作用
- 为什么这个函数调用会破坏程序并导致未定义的变量
- 如何通过函数调用设置图像的src
- 从全局函数调用Ember控制器上的方法
- 为什么Jquery$.ajax在函数调用中触发所有statusCode,即使调用成功
- JavaScript函数调用(arg1)(arg2)
- 打印链接时,将javascript函数调用到链接中
- 在函数调用中封装数据除了隐藏数据之外还有什么优点
- 无法从JavaScript中的函数调用对象属性
- 对中的函数调用进行排序是回调的唯一方法
- 函数调用方法有什么用
- Javascript:JSHint:应为赋值或函数调用,但实际看到的却是表达式
- HTML5(Bootstrap)通过函数调用运行动画
- 函数调用不起作用
- 函数中的Javascript函数调用