当前位置:首页 > 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 项目中实现广告功能可以通过多种方式完成,具体取决于广告类型和需求。以下是几种常见的实现方法: 使用第三方广告平台 许多广告平台如 Google AdSense、百…

vue实现rtc

vue实现rtc

Vue 实现 RTC 的步骤 安装依赖 在 Vue 项目中安装 WebRTC 相关依赖,如 simple-peer 或 peerjs,用于简化 WebRTC 的实现。 运行以下命令安装 simple-…

vue实现数组

vue实现数组

Vue 实现数组操作的方法 在 Vue 中,数组的操作需要特别注意响应式的问题。Vue 提供了一些方法来确保数组的变动能够触发视图更新。 响应式数组方法 Vue 对以下数组方法进行了封装,确保它们能…

vue实现抽奖

vue实现抽奖

Vue 实现抽奖功能 基本抽奖逻辑 创建一个Vue组件,包含奖品列表、抽奖按钮和结果显示区域。使用随机数生成器选择奖品。 <template> <div> <…

实现vue框架

实现vue框架

Vue框架的基本实现 Vue是一个渐进式JavaScript框架,用于构建用户界面。以下是实现Vue框架的基本步骤: 安装Vue 通过CDN引入Vue是最简单的方式: <script src…

vue实现验证

vue实现验证

Vue 表单验证实现方法 在Vue中实现表单验证可以通过多种方式完成,以下是常见的几种方法: 使用Vuelidate库 Vuelidate是一个轻量级的Vue表单验证库,安装后可以通过简单的配置实现…