当前位置:首页 > VUE

vue实现计划表

2026-02-21 21:36:23VUE

Vue 实现计划表的方法

使用 Vue CLI 创建项目

通过 Vue CLI 快速初始化一个 Vue 项目,确保开发环境配置正确。安装依赖后,可以开始构建计划表组件。

vue create schedule-app
cd schedule-app
npm install

设计计划表数据结构

计划表通常需要存储任务名称、时间、状态等信息。可以使用一个数组来存储这些数据,每个任务是一个对象。

data() {
  return {
    tasks: [
      { id: 1, name: '完成项目', time: '2023-10-10', completed: false },
      { id: 2, name: '学习 Vue', time: '2023-10-11', completed: true }
    ],
    newTask: { name: '', time: '' }
  }
}

创建计划表组件

在 Vue 组件中,通过 v-for 渲染任务列表,并提供添加、删除和标记完成的功能。

<template>
  <div>
    <h3>计划表</h3>
    <input v-model="newTask.name" placeholder="任务名称">
    <input v-model="newTask.time" type="date" placeholder="时间">
    <button @click="addTask">添加任务</button>
    <ul>
      <li v-for="task in tasks" :key="task.id">
        <span :class="{ completed: task.completed }">{{ task.name }} - {{ task.time }}</span>
        <button @click="toggleTask(task)">标记完成</button>
        <button @click="deleteTask(task.id)">删除</button>
      </li>
    </ul>
  </div>
</template>

实现交互逻辑

methods 中定义添加、删除和标记完成任务的方法。

methods: {
  addTask() {
    if (this.newTask.name && this.newTask.time) {
      this.tasks.push({
        id: Date.now(),
        name: this.newTask.name,
        time: this.newTask.time,
        completed: false
      });
      this.newTask.name = '';
      this.newTask.time = '';
    }
  },
  deleteTask(id) {
    this.tasks = this.tasks.filter(task => task.id !== id);
  },
  toggleTask(task) {
    task.completed = !task.completed;
  }
}

添加样式

通过 CSS 美化计划表,例如为已完成的任务添加删除线。

.completed {
  text-decoration: line-through;
  color: #888;
}

使用 Vuex 管理状态(可选)

如果项目较复杂,可以使用 Vuex 集中管理计划表的状态,便于跨组件共享数据。

import { createStore } from 'vuex';

export default createStore({
  state: {
    tasks: []
  },
  mutations: {
    addTask(state, task) {
      state.tasks.push(task);
    },
    deleteTask(state, id) {
      state.tasks = state.tasks.filter(task => task.id !== id);
    },
    toggleTask(state, id) {
      const task = state.tasks.find(task => task.id === id);
      if (task) task.completed = !task.completed;
    }
  }
});

使用第三方库(可选)

如果需要更丰富的功能,可以集成第三方日历或计划表库,如 vue-calfullcalendar-vue

vue实现计划表

npm install vue-cal
<template>
  <vue-cal :events="tasks" />
</template>

部署与优化

完成开发后,通过 npm run build 生成生产环境代码,并部署到服务器。可以根据需求添加本地存储或后端 API 支持。

标签: 计划表vue
分享给朋友:

相关文章

vue实现删除

vue实现删除

Vue 实现删除功能的方法 在 Vue 中实现删除功能通常涉及以下几个步骤: 数据绑定与列表渲染 使用 v-for 指令渲染列表数据,并为每个项绑定唯一标识符(如 id)。例如: <ul&g…

vue实现rtc

vue实现rtc

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

vue实现listview

vue实现listview

Vue 实现 ListView 的方法 基础列表渲染 使用 v-for 指令可以轻松实现基础列表渲染。在 Vue 中,v-for 用于遍历数组或对象,生成动态列表。 <template>…

vue实现页面

vue实现页面

Vue 实现页面的基本方法 创建 Vue 项目 使用 Vue CLI 快速初始化项目,运行以下命令安装并创建项目: npm install -g @vue/cli vue create my-pro…

vue实现settimeout

vue实现settimeout

在 Vue 中实现 setTimeout Vue 中可以通过 JavaScript 原生的 setTimeout 方法实现延时操作,但需要注意结合 Vue 的响应式特性和生命周期管理。以下是几种常见实…

vue实现下拉实现

vue实现下拉实现

Vue 实现下拉菜单的方法 使用原生 HTML 和 Vue 指令 通过 Vue 的 v-model 和 v-show 指令可以快速实现下拉菜单。定义一个布尔值控制下拉菜单的显示与隐藏,点击按钮切换状态…