#vue.js
#vue.js
Вопрос:
Итак, у меня есть приложение для опроса, и я хочу сохранить все ответы в некоторой модели, чтобы в дальнейшем отправить ее на серверную часть. Вопросы передаются компоненту. Проблема, с которой я сталкиваюсь, заключается в хранении ответов.
Итак, вот мой компонент:
<template>
<div>
<div class="form-group" v-for="(question, questionIndex) in questions">
<label>{{question.question}}</label>
<select v-model="answers[questionIndex]" class="form-control">
<option v-for="answer in question.answers" v-bind:value="answer.value">{{answer.value}}</option>
</select>
</div>
</div>
</template>
<script>
export default {
props: ['questions'],
data() {
return {
answers: []
}
},
methods: {
},
mounted() {
}
}
</script>
Дело в том, что когда я выбираю и отвечаю — свойство answers
data по-прежнему является пустым массивом и не добавляет key => value
к нему новое. Как мне это решить?
Комментарии:
1. Проверьте это: codesandbox.io/s/pxo24
2. @dhruwlalan, так что у меня есть точно такой же для отображения вопросов, и никаких проблем с этим — поскольку они отображаются правильно. Теперь я не знаю, как хранить ответы, так как массив answersList просто не заполняется.
3. какую версию vue вы используете?
4. @dhruwlalan vue2
5. @dhruwlalan — нашел причину разницы. Проблема в том, что я пытаюсь использовать ключи на основе строк для ответов на вопросы, так как мне нужно записать ключ вопроса для ответа.