刷新v模型

时间:2018-02-28 04:53:26

标签: vue.js v-model

我正在开发试卷申请。 enter image description here

输入问题并点击" +"按钮,问题是问题纸数组和计数器增加了一个。 问题出在我点击" +"按钮,然后我之前输入的问题仍然在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>

1 个答案:

答案 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);