当前位置:首页 > VUE

vue实现简易todolist

2026-02-19 07:30:37VUE

实现简易TodoList的步骤

创建Vue项目

使用Vue CLI创建一个新项目,运行以下命令:

vue create todo-list
cd todo-list
npm run serve

组件结构设计

src/components目录下创建TodoList.vue文件,作为主组件。

vue实现简易todolist

模板部分代码

<template>
  <div class="todo-list">
    <h1>Todo List</h1>
    <input v-model="newTodo" @keyup.enter="addTodo" placeholder="Add new todo">
    <ul>
      <li v-for="(todo, index) in todos" :key="index">
        <span :class="{ completed: todo.completed }" @click="toggleTodo(index)">
          {{ todo.text }}
        </span>
        <button @click="removeTodo(index)">×</button>
      </li>
    </ul>
  </div>
</template>

脚本部分代码

<script>
export default {
  data() {
    return {
      newTodo: '',
      todos: []
    }
  },
  methods: {
    addTodo() {
      if (this.newTodo.trim()) {
        this.todos.push({
          text: this.newTodo,
          completed: false
        })
        this.newTodo = ''
      }
    },
    toggleTodo(index) {
      this.todos[index].completed = !this.todos[index].completed
    },
    removeTodo(index) {
      this.todos.splice(index, 1)
    }
  }
}
</script>

样式部分代码

<style>
.todo-list {
  max-width: 400px;
  margin: 0 auto;
  padding: 20px;
}
.completed {
  text-decoration: line-through;
  color: #888;
}
ul {
  list-style: none;
  padding: 0;
}
li {
  display: flex;
  justify-content: space-between;
  padding: 8px;
  border-bottom: 1px solid #eee;
}
button {
  background: none;
  border: none;
  color: red;
  cursor: pointer;
}
</style>

功能说明

  • 输入框绑定v-model实现双向数据绑定
  • @keyup.enter监听回车事件添加新任务
  • v-for循环渲染任务列表
  • toggleTodo方法切换任务完成状态
  • removeTodo方法删除指定任务

进阶优化建议

  1. 添加本地存储功能,使用localStorage持久化数据
  2. 增加任务分类功能,如"全部"、"已完成"、"未完成"筛选
  3. 添加任务编辑功能,双击任务可修改内容
  4. 引入动画效果提升用户体验

这个简易TodoList实现了基本的新增、状态切换和删除功能,可以作为Vue入门练习项目。

标签: 简易vue
分享给朋友:

相关文章

vue实现一个系统

vue实现一个系统

Vue 系统实现步骤 项目初始化与配置 使用 Vue CLI 或 Vite 创建项目: npm init vue@latest my-system 选择需要的配置(Router、Pinia 等)。…

vue实现图片

vue实现图片

Vue 实现图片功能的方法 静态图片引入 在 Vue 项目中,可以通过 src 属性直接引入静态图片。图片通常放在 public 或 assets 目录下。 <template> &…

vue 实现工具

vue 实现工具

Vue 实现工具的方法 使用 Vue 实现工具功能可以通过多种方式完成,具体取决于工具的类型和需求。以下是几种常见的方法: 组件化实现 创建一个独立的 Vue 组件来封装工具功能。例如,实现一个计…

黑马vue实现

黑马vue实现

以下是关于使用 Vue.js 实现黑马相关功能或项目的关键方法和实践指南: 环境配置与项目初始化 安装最新版 Vue CLI 或使用 Vite 创建项目: npm create vue@lates…

vue 实现穿透

vue 实现穿透

Vue 样式穿透的实现方法 在 Vue 中,样式穿透通常指在带有 scoped 属性的样式块中,强制影响子组件的样式。以下是几种常见的实现方式: 使用 >>> 或 /deep/ 选…

vue实现登录退出

vue实现登录退出

实现登录功能 在Vue中实现登录功能通常需要结合表单验证、API请求和状态管理。以下是一个基础实现示例: 安装必要依赖(如axios和vuex): npm install axios vuex 创…