【发布时间】:2017-05-21 23:28:34
【问题描述】:
刚刚完成了一个 todolist 教程。 提交表单时,输入字段不清除。
两个都试了之后:
document.getElementById("todo-field").reset();
document.getElementById("#todo-field").value = "";
输入字段正确清除,但它也删除了待办事项。
好像还没来得及将新的 todo 推送到 todos.text 数组中,就删除了输入字段。
希望有一些输入的家伙!谢谢!!
<template>
<form id="todo-field" v-on:submit="submitForm">
<input type="text" v-model="text">
</form>
<ul>
<li v-for="todo in todos">
<input class="toggle" type="checkbox" v-model="todo.completed">
<span :class="{completed: todo.completed}" class="col-md-6">
<label @dblclick="deleteTodo(todo)">
{{todo.text}}
</label>
</span>
</li>
</ul>
<script>
export default {
name: 'todos',
data () {
return {
text: '',
todos: [
{
text:'My Todo One',
completed: false
},
{
text:'My Todo Two',
completed: false
},
{
text:'My Todo Three',
completed: false
}
]// End of array
}
},
methods: {
deleteTodo(todo){
this.todos.splice(this.todos.indexOf(todo),1);
},
submitForm(e){
this.todos.push(
{
text: this.text,
completed: false
}
);
//document.getElementById("todo-field").reset();
document.getElementById("#todo-field").value = "";
// To prevent the form from submitting
e.preventDefault();
}
}
}
</script>
【问题讨论】:
标签: javascript forms vue.js