每次单击按钮时,我需要添加一个输入框(input-0,input-1 ...)。以下是相关代码。
//状态
this.state = { newText: {} };
//添加动态输入文本的代码
addInputText = () => { let dynamicTextsNo = Object.keys(this.state.newText).length; let newInputId = dynamicTextsNo+1; let dynamicTextArr = this.state.newText; let newTextId = 'input-'+dynamicTextsNo; dynamicTextArr[newTextId] = ''; let newState = { ...this.state, newText: dynamicTextArr } this.setState( newState ); }
//呈现动态输入文本的代码。
dynamicTextArea = () => { return Object.keys(this.state.newText).map( ( key ) => { return (); }); }
//渲染功能
render() { return{this.dynamicTextArea()} }
//处理输入
changeInput = (e) => { console.log( e.target.value ); // **this comes out to be undefined.** }
为什么changeInput函数中的e.target.value未定义?
完整代码的PS Jsfiddle链接:https ://jsfiddle.net/johnnash03/9by9qyct/1/
与浏览器文本输入元素不同,event
传递给React Native TextInput.onChange
回调的参数没有名为的属性target
。
相反,使用
event.nativeEvent.text} />
要么
text} />