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

spl*_*unk 3 javascript reactjs react-native

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

这是我所做的:

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> );
}
Run Code Online (Sandbox Code Playgroud)

console.log内部handleChange功能正确地显示由用户输入的文本,但不显示正确name的变量,其结果undefined

Mat*_*Aft 9

什么是name应该是什么?您要做的只是将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> );
}
Run Code Online (Sandbox Code Playgroud)

  • 仍然不明白您的意思,`text`变量是用户在文本字段中输入的任何内容。同样,如果将“ var p = 0”更改为“ let p = 0”,则应该可以解决其他问题。 (2认同)