如何在对象数组中的数组中添加元素

我收到错误:this.state.questions[key] is not iterable

我想optiontext从输入字段推送到options数组


this.state = {

  sections: [{

    key: 1,

    value: 1

  }],

  optionText: '',

  questions: [{

    id: Math.round(Math.random() * 1000000000000000),

    query: '',

    sectionId: 1,

    selectedType: 1,

    options: ['1st option', ],

    isChecked: true

  }],

}

addOption = (key) => {

  const addtext = this.state.optionText //typed text in input 

  let option = this.state.questions[key].options; //trying to access array in array of object 

  this.setState({

    questions: [...this.state.questions[key], addtext]

  });

}

<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>


  sections: [{ key: 1, value: 1 }],

  optionText: '',

      surveyTitle: '',

      description: '',

      questions: [{

        id: Math.round(Math.random() * 1000000000000000),

        query: '',

        sectionId: 1,

        selectedType: 1,

        options: ['1st option',],

        isChecked: true

      }],

    }

 addOption = (key) => {

    const addtext = this.state.optionText //typed text in input 

    let option = this.state.questions[key].options; //trying to access array in array of object 

    this.setState({ questions: [...this.state.questions[key], addtext] });

  }

慕的地8271018
浏览 130回答 1
1回答

慕田峪9158850

提取选项并附加一个值。在使用合并选项拼接新问题之前克隆问题。更新状态。this.state = {&nbsp; sections: [{&nbsp; &nbsp; key: 1,&nbsp; &nbsp; value: 1&nbsp; }],&nbsp; optionText: '',&nbsp; questions: [{&nbsp; &nbsp; id: Math.round(Math.random() * 1000000000000000),&nbsp; &nbsp; query: '',&nbsp; &nbsp; sectionId: 1,&nbsp; &nbsp; selectedType: 1,&nbsp; &nbsp; options: ['1st option', ],&nbsp; &nbsp; isChecked: true&nbsp; }],}addOption = (key) => {&nbsp; const addtext = this.state.optionText //typed text in input&nbsp;&nbsp; let options = this.state.questions[key].options; //trying to access array in array of object&nbsp;&nbsp; options = [...options, addText];&nbsp; const questions = [...this.state.questions];&nbsp; questions.splice(key, 1, {...questions[key], options});&nbsp; this.setState({&nbsp; &nbsp; questions&nbsp; });}<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript