当前位置:首页 > 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实现tablegrid

vue实现tablegrid

Vue 实现 TableGrid 的方法 使用 Element UI 的 Table 组件 Element UI 提供了强大的 Table 组件,可以快速实现表格布局。安装 Element UI 后,…

ssh vue 实现

ssh vue 实现

使用SSH连接Vue项目部署的服务器 在Vue项目开发或部署过程中,可能需要通过SSH连接到远程服务器进行配置或维护。以下是实现SSH连接并部署Vue项目的关键步骤: 生成SSH密钥对 在本地终端运…

vue 全景实现

vue 全景实现

Vue 全景实现方案 在Vue中实现全景效果,通常需要结合WebGL或第三方库来处理3D场景渲染。以下是几种常见方法: 使用Three.js库 Three.js是一个强大的WebGL库,适合创建3D…

vue实现浮标

vue实现浮标

Vue 实现浮动按钮(浮标) 使用 Vue 实现浮动按钮可以通过多种方式完成,以下是几种常见的方法: 使用 CSS 定位和 Vue 组件 创建 Vue 组件并配合 CSS 固定定位实现浮动按钮:…

vue实现swiper

vue实现swiper

Vue 中实现 Swiper 的方法 安装 Swiper 依赖 在 Vue 项目中安装 Swiper 和相关依赖: npm install swiper vue-awesome-swiper 全局引…

vue jwt实现

vue jwt实现

Vue JWT 实现方法 安装依赖 确保项目中安装了 jsonwebtoken(后端)和 axios(前端)。若使用 Vue 3,可搭配 vue-router 和 pinia(或 vuex)管理状态。…