功能要求: 1、输入框输入新的待办事项后回车,则添加到正在进行的待办任务中;(20分) 2、正在进行的任务被勾选后,变成已经完成的任务;(10分) 3、已经完成的任务取消勾选后,变成正在进行的任务;(10分) 4、双击内容实现可修改内容功能,失去光标或者按下enter键确定修改内容;(20分) 5、按下删除键,可对这一条的数据进行删除; 7、页面底部增加版权信息,版权所属学生个人用vue
时间: 2023-12-14 18:37:06 浏览: 113
JS待办事项列表添加删除代码.zip
实现这个功能可以使用Vue.js框架编写前端页面,同时使用localStorage存储数据。
首先,在Vue组件中定义数据模型,例如:
```
data() {
return {
todoList: [], // 待办事项列表
newTodo: '', // 新添加的待办事项
}
}
```
然后在模板中使用v-for指令循环显示待办事项列表,使用v-model指令绑定输入框的值,使用v-on指令绑定事件处理函数,例如:
```
<ul>
<li v-for="(todo, index) in todoList" :key="index">
<input type="checkbox" v-model="todo.done" @change="updateTodo"/>
<span v-if="!todo.editing" @dblclick="editTodo(todo)">{{ todo.content }}</span>
<input v-else v-model="todo.content" @blur="saveTodo(todo)" @keyup.enter="saveTodo(todo)" />
<button @click="removeTodo(index)">删除</button>
</li>
</ul>
<input type="text" v-model="newTodo" @keyup.enter="addTodo" />
```
在事件处理函数中,我们可以使用localStorage存储数据,例如:
```
methods: {
// 添加新的待办事项
addTodo() {
if (this.newTodo.trim()) {
this.todoList.push({
content: this.newTodo,
done: false,
editing: false,
});
this.newTodo = '';
this.saveTodoList();
}
},
// 更新待办事项状态
updateTodo() {
this.saveTodoList();
},
// 编辑待办事项
editTodo(todo) {
todo.editing = true;
},
// 保存编辑后的待办事项
saveTodo(todo) {
todo.editing = false;
this.saveTodoList();
},
// 删除待办事项
removeTodo(index) {
this.todoList.splice(index, 1);
this.saveTodoList();
},
// 从localStorage中读取待办事项列表
loadTodoList() {
const todoList = JSON.parse(localStorage.getItem('todoList') || '[]');
this.todoList = todoList;
},
// 将待办事项列表保存到localStorage中
saveTodoList() {
localStorage.setItem('todoList', JSON.stringify(this.todoList));
},
},
```
最后,在页面底部增加版权信息即可。
完整代码示例请参考:https://codepen.io/miraclezys/pen/GRNoPmK
阅读全文