У меня возникли трудности с сохранением моих вариантов экзаменов, потому что они все одинаковые в 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;