Сохраните входные данные массива в REACT API - PullRequest
0 голосов
/ 27 апреля 2020

У меня возникли трудности с сохранением моих вариантов экзаменов, потому что они все одинаковые в onChange.

Вот пост json для выбора. я не знаю, правильно ли я это делаю. Я хочу сохранить разные варианты в том же поле testChoices, с которым мне трудно иметь дело.

Я могу сохранить что-то, если это только один, но несколько вариантов дают мне ошибку.

"choices": [
    {
      "id": 0,
      "questionId": 0,
      "testChoices": "string",
      "choicesImage": "string",
      "isCorrect": true,
      "rate": 0,
      "createdBy": 0,
      "createdDate": "2020-04-27T07:35:34.188Z",
      "updatedBy": 0,
      "updatedDate": "2020-04-27T07:35:34.188Z",
      "deleted": true,
      "deletedBy": 0,
      "deletedDate": "2020-04-27T07:35:34.188Z"
    }
  ]

class TestQuestions extends React.Component {
    constructor(props) {
        super(props);
        this.handleChangeSelectType = this.handleChangeSelectType.bind(this);
}



 //add question
    handleAddQuestion(event){
        event.preventDefault();

        const {
            testQuestion,
            questionTypeId,
            testChoices:[],
            isCorrect:[],

        } = this.state;

        const postData = {

            choices: [{
                testChoices:[this.state.testChoices],
                isCorrect:[this.state.isCorrect]
            }]
        };


        fetch('http://tfismartasp-001-site10.btempurl.com/api/Test', {

        method: 'POST',
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json',
            'Authorization': 'Bearer' + " " + sessToken
        },
        body: JSON.stringify(postData),
        })
        .then(response => {
            if(response.status === 400){
            return response.json();
            }else{
            this.addNotification('success', 'Success', 'All Data is Saved', 'top-right')
            this.componentDidMount();
            return response.json();
            }
        })
        .catch(err => {
            console.log("fetch error" + err);
        });

    }

<div className="col-md-12 m-b-15">
   <label className="control-label">Choices <span className="text-danger">*</span></label>

        <input type="text" className="form-control" placeholder="Choice 2" name="testChoices" value={this.state.testChoices} onChange={this.handleChangeSelectType} required="" /><br/>
        <input  type="checkbox" name="isCorrect" checked={this.state.isCorrect} onChange={this.handleCheck} />

        <input type="text" className="form-control" placeholder="Choice 3" name="testChoices" value={this.state.testChoices} onChange={this.handleChangeSelectType} required="" /><br/>
        <input  type="checkbox" name="isCorrect" checked={this.state.isCorrect} onChange={this.handleCheck}/>

        <input type="text" className="form-control" placeholder="Choice 4" name="testChoices" value={this.state.testChoices} onChange={this.handleChangeSelectType} required="" />
        <input  type="checkbox" name="isCorrect" checked={this.state.isCorrect} onChange={this.handleCheck} />
</div>

export default TestQuestions;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...