当前位置:首页 > VUE

vue实现简易todolist

2026-01-18 15:07:37VUE

实现简易TodoList的步骤

创建Vue项目
使用Vue CLI或Vite快速初始化一个Vue项目。例如通过Vite创建:

npm create vite@latest vue-todolist --template vue

组件结构设计
新建TodoList.vue作为主组件,包含输入框、任务列表和状态展示区域。

数据定义与双向绑定
<script setup>中定义响应式数据和方法:

<script setup>
import { ref } from 'vue'
const tasks = ref([])
const newTask = ref('')
const addTask = () => {
  if (newTask.value.trim()) {
    tasks.value.push({ text: newTask.value, completed: false })
    newTask.value = ''
  }
}
const toggleComplete = (index) => {
  tasks.value[index].completed = !tasks.value[index].completed
}
</script>

模板渲染
<template>中实现交互界面:

<template>
  <div class="todo-container">
    <input 
      v-model="newTask" 
      @keyup.enter="addTask" 
      placeholder="输入任务内容"
    >
    <button @click="addTask">添加</button>

    <ul>
      <li v-for="(task, index) in tasks" :key="index">
        <input 
          type="checkbox" 
          v-model="task.completed"
          @change="toggleComplete(index)"
        >
        <span :class="{ completed: task.completed }">
          {{ task.text }}
        </span>
      </li>
    </ul>

    <p>总任务: {{ tasks.length }} | 已完成: {{ completedCount }}</p>
  </div>
</template>

计算属性
添加已完成任务的统计功能:

<script setup>
// ...原有代码
import { computed } from 'vue'

const completedCount = computed(() => {
  return tasks.value.filter(t => t.completed).length
})
</script>

样式优化
添加基础样式增强视觉效果:

<style scoped>
.completed {
  text-decoration: line-through;
  color: #888;
}
.todo-container {
  max-width: 400px;
  margin: 0 auto;
}
ul {
  list-style: none;
  padding: 0;
}
li {
  margin: 8px 0;
  display: flex;
  align-items: center;
}
</style>

功能扩展建议

vue实现简易todolist

  • 添加本地存储功能使用localStorage持久化数据
  • 实现任务删除功能
  • 增加任务分类过滤(全部/进行中/已完成)
  • 添加动画过渡效果

完整组件应包含数据管理、用户交互和状态展示三部分,通过Vue的响应式系统实现数据与视图的自动同步。

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

相关文章

vue实现visual

vue实现visual

Vue 实现可视化(Visual)的常见方法 在 Vue 中实现可视化通常涉及数据可视化库的集成,以下是几种主流方案: 使用 ECharts ECharts 是一个强大的 JavaScript 图表…

vue路由实现

vue路由实现

Vue 路由实现 Vue Router 是 Vue.js 的官方路由管理器,用于构建单页面应用(SPA)。以下是 Vue Router 的基本实现步骤和核心功能。 安装 Vue Router 通过…

vue 实现表单

vue 实现表单

Vue 表单实现方法 Vue.js 提供了多种方式实现表单,包括双向数据绑定、表单验证和动态表单生成。以下是常见的实现方法: 基础表单绑定 使用 v-model 指令实现表单元素与数据的双向绑定:…

vue实现布局

vue实现布局

Vue 实现布局方法 Vue 提供了多种方式实现页面布局,可以通过组件化、CSS 框架或自定义样式完成。以下是几种常见方法: 使用 CSS Flexbox 或 Grid 通过 Vue 单文件组件结合…

vue 实现后退

vue 实现后退

实现后退功能的方法 在Vue中实现后退功能通常需要结合浏览器历史记录API或Vue Router的导航方法。以下是几种常见的实现方式: 使用Vue Router的go方法 this.$router…

实现vue框架

实现vue框架

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