当前位置:  开发笔记 > 程序员 > 正文

在react中添加动态输入数据时e.target.value未定义

如何解决《在react中添加动态输入数据时e.target.value未定义》经验,为你挑选了1个好方法。

每次单击按钮时,我需要添加一个输入框(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/



1> jevakallio..:

与浏览器文本输入元素不同,event传递给React Native TextInput.onChange回调的参数没有名为的属性target

相反,使用

 event.nativeEvent.text}
/>

要么

 text}
/>

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有