传递多个参数onChangeText输入元素函数 - React native

时间:2017-01-04 15:40:06

标签: javascript reactjs react-native

我有多个Input元素,每次用户输入这些输入时,我都会调用handleChange()函数,该函数应该告诉用户写了什么以及输入了哪个输入。

这就是我所做的:

handleChange(text, name) {
    console.log("test: "text+" "+name);
}

//http://facebook.github.io/react-native/releases/0.23/docs/textinput.html
for (var p = 0; p < 20; p++){
      products.push (<TextInput name={p} onChangeText={(text, name) => this.handleChange(text, name)}></TextInput> );
}

console.loghandleChange函数正确显示用户撰写的文字,但无法正确显示导致name的{​​{1}}变量。

2 个答案:

答案 0 :(得分:5)

name应该是什么?您所做的只是将名称设置为整数,但这是一种使其工作的方法:

handleChange(text, name) {
  console.log("test: "text+" "+name);
}

//http://facebook.github.io/react-native/releases/0.23/docs/textinput.html
for (let p = 0; p < 20; p++){
  products.push (<TextInput onChangeText={(text) => this.handleChange(text, p)}></TextInput> );
}

答案 1 :(得分:0)

handleChange= (name) => {
return (text) => {
   console.log("test: "name+" "+text); 
}};

[https://hackernoon.com/curry-away-in-react-7c4ed110c65a][1]

for (let p = 0; p < 20; p++){
products.push (<TextInput onChangeText={this.handleChange(p)}> 
</TextInput> );
}