当前位置:首页 > 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 实现方案 使用开源库实现 推荐使用 mind-elixir 或 jsmind 这类开源库,它们专为脑图设计且支持 Vue 集成。 安装依赖: npm install mind-e…

vue实现打印二维码

vue实现打印二维码

安装二维码生成库 使用 qrcode 或 vue-qrcode 库生成二维码。通过 npm 安装: npm install qrcode vue-qrcode 生成二维码 在 Vue 组…

vue实现token

vue实现token

Vue 中实现 Token 认证的方法 在 Vue 中实现 Token 认证通常涉及前端与后端的交互,包括 Token 的获取、存储、发送和刷新等操作。以下是具体实现步骤: 获取 Token 用户登…

vue实现ppt

vue实现ppt

Vue 实现 PPT 的功能 Vue 可以结合第三方库或自定义组件实现类似 PPT 的演示效果。以下是几种常见的方法: 使用第三方库 reveal.js reveal.js 是一个流行的演示框架,支…

vue nexttick 实现

vue nexttick 实现

Vue nextTick 实现原理 Vue 的 nextTick 是一个用于在下次 DOM 更新循环结束之后执行延迟回调的方法。它主要用于确保在 DOM 更新完成后执行某些操作。 核心实现机制 ne…

vue 实现长按

vue 实现长按

实现长按功能的基本思路 在Vue中实现长按功能,通常需要监听元素的mousedown或touchstart事件,启动一个计时器。当用户按住元素超过设定的时间阈值时,触发长按回调函数。如果在时间阈值内触…