我正在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 )
}
}
});
答案 0 :(得分:2)
您的输入值与todo.task进行了双向绑定,因此您可以在添加新的todo任务后执行以下操作。
this.todo.task = ''
答案 1 :(得分:1)
尝试像这样冲洗它:
addNewTodo: function(e){
e.preventDefault();
this.todos.push( this.todo );
this.todo.task=""
}