Я создаю заполнение в пустой игре, используя vue.Если в основе вопроса JSON-файла _ в вопросе заменены входными данными.У меня проблемы с использованием нескольких полей ввода в моем вопросе.
Я инициализирую пустой массив для ввода пользователя, а затем добавляю приращение к значению userInput, чтобы они могли быть уникальными.Когда я начинаю печатать и заглядывать в консоль vue, она создает массив из 3 пользовательских входов (должно быть только 2, 1 для каждого входа), а также заполняет только последний элемент в массиве пользовательских данных 1 .
Я чувствую, что я близок, и ответ лежит где-то в том, как я использую мои domProps и при вызове {}, но не могу найти документы по моей ситуации.Я упростил мой пример, чтобы исключить JSON для простоты.Любая помощь или направление приветствуется.
Вот ссылка на пример песочницы Я поместил код в app.vue
<template>
<div class="interactive interactive-vue-question interactive-vue-question-iv">
<ivInput v-bind:class="'iv-input-wrapper'"></ivInput>
</div>
</template>
let ivInput = {
name: "iv",
render: function(createElement) {
let arr = [];
let question = 'Old *_* had a *_*';
let questionArray = question.split("*");
let myInput
let currentAnswer = 0
//Filter/Remove any Empty or Null values
questionArray = questionArray.filter(function(e){return e})
for (let q in questionArray) {
//If there is no _ wrap the text in a span and push it to the array
if (questionArray[q] != "_") {
let questionText = arr.push(createElement("span", questionArray[q]));
}else{
myInput = createElement("input", {
attrs: {
type: "text",
// disabled: this.isSuccess
},
domProps: {
//Get the value of the component/input
value: this.userInput[currentAnswer],
name:"iv-"+ currentAnswer
},
//Event triggers
on: {
input: e => {
this.userInput[currentAnswer] = e.target.value
}
},
})
arr.push(myInput)
currentAnswer++
}
}//end for loop
return createElement("div", arr);
},
data: function() {
return {
userInput: [],
errorMessage: "",
//answers: this.cData.body.answers,
// type: this.cData.body.type,
//typeErrorMessage: this.cData.body.typeErrorMessage,
// case: this.cData.body.case,
//accent: this.cData.body.accent
};
},
props:['cData'],
}//End iv
export default {
name: "iv-v1",
props: ["cData"],
components: {
ivInput
},
data: function() {
return {};
},
};