我正在开发试卷申请。
输入问题并点击" +"按钮,问题是问题纸数组和计数器增加了一个。 问题出在我点击" +"按钮,然后我之前输入的问题仍然在UI的字段中。 因为我使用v-model来绑定数据字段。
我想要的是一种清除UI中先前问题数据的方法。 这类似于重置按钮功能。
JSONObject data = response.getJSONObject("data");
JSONArray jsonArray = new JSONArray();
Iterator<?> keys = data.keys();
while (keys.hasNext()) {
String key = (String) keys.next();
if (data.get(key) instanceof JSONObject) {
jsonArray.put(((JSONObject) data.get(key)).getString("Value"));
}
}
Log.e("TZX", String.valueOf(jsonArray));
<template>
<div>
<div class="container" v-if="counter<=5">
<h2>Question {{counter}}</h2><hr>
<textarea rows="7" cols="75" v-model="question"></textarea><br><br>
1. Answer <input type="text" v-model="answer1"> <input type="radio" name="q1answer" value="1" v-model="correctAnswer"><br><br>
2. Answer <input type="text" v-model="answer2"> <input type="radio" name="q1answer" value="2" v-model="correctAnswer"><br><br>
3. Answer <input type="text" v-model="answer3"> <input type="radio" name="q1answer" value="3" v-model="correctAnswer"><br><br>
4. Answer <input type="text" v-model="answer4"> <input type="radio" name="q1answer" value="4" v-model="correctAnswer"><br>
<hr>
Knowledge Area <select v-model="knowledgeArea">
<option value="Maths">Mathematics</option>
<option value="Language">Language Skills</option>
<option value="gk">General Knowledge</option>
<option value="other">Other</option>
</select><br><br>
<button type="button" class="btn" @click="pushToArray" >
<span class="glyphicon glyphicon-plus"></span></button>
</div>
<div v-if="counter>5">
<button type="button" class="btn btn-primary" @click="onSubmit">Save Question Paper</button>
</div>
</div>
</template>
答案 0 :(得分:2)
创建模板数据变量以用作重置。例如
const templateData = {
question:'',
answer1:'',
answer2:'',
answer3:'',
answer4:'',
correctAnswer:'',
knowledgeArea:''
}
export default { // ...
用它来设置初始数据
data() {
return {
counter: 1,
show: true,
...templateData
}
}
现在,您可以使用pushToArray
方法轻松重置数据,例如
questionPaper.push(formData);
Object.assign(this, templateData);