如何在Vuejs中提交后清理输入值?

问题描述 投票:0回答:2

我在Vuejs做一个待办事项清单。当我在输入字段中输入新值时,似乎我无法使输入值重置。我怎么能做到这一点?

我试图获取输入值并将其重置为空字符串,但我没有运气。

HTML代码:

<div id="app">
  <h1>{{ message }}</h1>
  <form v-on:submit="addNewTodo">
    <input class="input-value" v-model="todo.task" type="text">
    <button type="submit">Add todo</button>
  </form>
  <ul>
   <li  v-for="todo in todos" :class="{ completed: todo.isActive }" @click="$set(todo, 'isActive', !todo.isActive)">
    {{ todo.task }} <span v-on:click="deleteTodo">{{ todo.delete }}</span>
   </li>
  </ul>
</div>

JS代码:

var app = new Vue({
  el: '#app',
  data: {
    message: 'List of things to do today',
    todos: [
      { task: 'Have breakfast', delete:'(x)'},
      { task: 'Go to the gym', delete:'(x)'},
      { task: 'Study Vuejs', delete:'(x)'}
    ],
    todo: {task: '', delete: '(x)'}
  },
  methods: {
    addNewTodo: function(e){

      e.preventDefault();
      this.todos.push( this.todo );

      var inputValue = document.querySelectorAll('.input-value').value;

      inputValue = ''
    },
    deleteTodo: function(){
      this.todos.shift( this.todo )
    }
  }
});
javascript vue.js vuejs2
2个回答
1
投票

尝试冲洗它像:

  addNewTodo: function(e){

      e.preventDefault();
      this.todos.push( this.todo );
      this.todo.task=""
    }

2
投票

您的输入值与todo.task进行双向绑定,因此您可以在添加新的待办事项任务后执行以下操作。

this.todo.task = ''
© www.soinside.com 2019 - 2024. All rights reserved.