Vue.js卡片式习惯追踪器

应用场景介绍

习惯追踪是自我提升和目标实现的重要组成部分。这款Vue.js卡片式习惯追踪器可帮助用户轻松管理和跟踪他们的日常习惯,提供直观的视觉反馈和进度监控。

代码基本功能介绍

这款习惯追踪器具有以下基本功能:

  • **可视化习惯列表:**显示用户当前正在追踪的所有习惯,包括名称、状态、剩余习惯数和剩余天数。
  • **进度监控:**使用颜色编码的卡片来表示每个习惯的当前状态(已通过、已完成、未通过)。
  • **统计信息:**提供整体进度概览,显示已完成的习惯百分比和剩余天数。
  • **可定制:**允许用户添加、删除和编辑习惯,以满足他们的个人需求。

功能实现步骤及关键代码分析

1. 设置状态和数据

首先,我们使用Vue.js的ref钩子创建一个可变的habits数组,它存储了所有习惯信息。

import { ref } from 'vue'

const habits = ref([
  // ...
])

2. 渲染习惯列表

我们在模板中使用v-for循环遍历habits数组,并为每个习惯创建一个卡片。

<template>
  <div class="grid grid-cols-2 gap-4">
    <div v-for="habit in habits" :key="habit.id">
      <!-- ... -->
    </div>
  </div>
</template>

3. 设置卡片样式

每个卡片的样式根据习惯的状态进行设置。我们使用颜色编码来表示不同的状态:

.bg-green-500 {
  background-color: #52c41a;
}

.bg-red-500 {
  background-color: #d9480f;
}

.bg-yellow-500 {
  background-color: #f4b400;
}

4. 显示进度统计信息

在顶部栏中,我们显示一个进度环,表示用户完成习惯的整体百分比。

<template>
  <div class="flex items-center justify-between mb-4">
    <div class="text-lg font-semibold">Today goal</div>
    <div class="text-3xl font-bold text-green-500">{{ progress }}%</div>
  </div>
</template>

5. 添加新习惯

我们使用一个带有v-model的输入字段允许用户添加新习惯。

<template>
  <div class="flex items-center justify-center p-4 border-t border-gray-200">
    <div class="flex items-center space-x-4">
      <!-- ... -->
      <div
        class="relative w-10 h-10 rounded-full bg-green-500 flex items-center justify-center"
      >
        <IconParkTwoTone name="add" size="24" color="#fff" />
      </div>
      <!-- ... -->
    </div>
  </div>
</template>

6. 删除习惯

我们使用v-on:click事件监听器,当用户点击删除按钮时触发删除习惯的操作。

<template>
  <div class="flex items-center justify-between">
    <div class="flex items-center">
      <!-- ... -->
    </div>
    <div class="flex items-center">
      <IconParkTwoTone name="delete" size="16" color="#999" @click="deleteHabit(habit)" />
    </div>
  </div>
</template>

总结与展望

开发这款习惯追踪器让我们学到了很多关于Vue.js、状态管理和组件化开发的知识。

未来,我们计划扩展这款习惯追踪器,增加以下功能:

  • **提醒和通知:**发送提醒以帮助用户养成习惯。
  • **社交分享:**允许用户与朋友分享他们的进度。
  • **分析和洞察:**提供关于用户习惯模式和改进领域的见解。
Login
ECHO recommendation
ScriptEcho.ai

User Annotations

这款UI设计稿的页面功能是帮助用户养成良好习惯的,所以我给它起的名字是:习惯养成打卡。