为了账号安全,请及时绑定邮箱和手机立即绑定

react 中 多个input组件 触发的onKeyUp如何判断?

react 中 多个input组件 触发的onKeyUp如何判断?

倚天杖 2019-05-21 16:53:45
我现在是有多个单独写的自定义组件里面包含了input标签,然后一个页面下调用多个这个自定义组件,共用一个onKeyUp事件,但是我发现e.target返回的是input标签,不好判断是哪个自定义组件下的input触发的事件。上代码keyUpHandle(e){console.log(e.target);}自定义组件render(){return({this.props.placeValue}{}}onChange={this.onValueChange}onFocus={this.props.onFocus?this.props.onFocus:()=>{}}key={this.props.key?this.props.key:''}ref='uname'/>)}用了一个很蠢的办法,给自定义组件加一个id,传到Input上,然后根据id区分。希望有更好的办法!
查看完整描述

2 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

既然子组件是自定义的,那么重新设计子组件api是更好的方式。避免父组件产生大量闭包。
增加如下方法
onKeyUp=e=>this.props.onKeyUp&&this.props.onKeyUp(e,this.props.key)
onKeyUp={this.onKeyUp}
或者,把restProps都传给input,那么调用时可以传入dataset来做标记。
                            
查看完整回答
反对 回复 2019-05-21
  • 2 回答
  • 0 关注
  • 888 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信