如何正确获取到相同ref属性的input值
关于react中map出来的input标签的取值问题
lcoder
#2
你如果单单只是想获取到value值,可以直接
<input onChange={ (event)=>{ console.log(event.target.value) } } />
如果你真的很想要获取dom
{
item.map( ( v , k )=>{
<input ref={ ( (name)=>{ return ( ref )=>{ this[ name ] = ref ; } } )( v.name ) } / >
} )
}
Daisy1213
#5
我认真看了你的第二行代码,有点不明白后面的v.name;不过好像是行的通的
我的解决方法是让ref={‘input’ + k},这样的话可以分别获取
不过我们的方法原理是一样的
还是谢谢你哦,以后可以多多交流!!!
lcoder
#6
v.name 是你的数组里面每个object的属性,你可以自己定制,目的就是为了区分每个object,类似key的东西。然后就是用闭包传递进去。客气了,你的k是index吧,递增的?确实差不多,解决就好。
Daisy1213
#7
我还有个问题,不知道你能否帮忙看看,我的父组件里面有一个子组件,如下叫SelectInput
这个子组件里面的具体内容如下
我是想在父组件里获取到子组件内DOM元素,应该怎么实现呢?
谢谢!
lcoder
#8
通过ref
,<SelectInput ref={(ele)=>{this.ele=ele}}>
;然后在父组件可以用this.ele
拿到SelectInput
组件了。你尝试自己打印this.ele
试一下,应该明了了。