parent
153f460385
commit
53cffa5b22
@ -0,0 +1,50 @@
|
||||
<!-- To-do list 实现增删改查功能,前端界面设计 -->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>To-do List</title>
|
||||
<link rel="stylesheet" href="demo.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app">
|
||||
<h1>To-do List</h1>
|
||||
|
||||
<!-- 添加新任务 -->
|
||||
<p>What needs to be done?</p>
|
||||
<input type="text" v-model="newTask" placeholder="Enter new task">
|
||||
<button class="add" @click="addTask">Add</button>
|
||||
|
||||
<!-- 任务完成统计 -->
|
||||
<p>{{ completedCount }} out of {{ tasks.length }} items completed</p>
|
||||
|
||||
<!-- 编辑和保存任务 -->
|
||||
<ul class="tasks">
|
||||
<li v-for="(task, index) in tasks" :key="index">
|
||||
<!-- edit时样式 -->
|
||||
<template v-if="editingIndex === index">
|
||||
<p>Edit Name for "{{ task.name }}"</p>
|
||||
<input type="text" v-model="editingTask">
|
||||
<div class="edit-actions">
|
||||
<button @click="cancelEdit">Cancel</button>
|
||||
<button @click="saveEdit(index)">Save</button>
|
||||
</div>
|
||||
</template>
|
||||
<!-- 否则 -->
|
||||
<template v-else>
|
||||
<input type="checkbox" v-model="task.completed">
|
||||
<span :class="{ completed: task.completed }">{{ task.name }}</span>
|
||||
<div class="task-actions">
|
||||
<button @click="editTask(index)">Edit</button>
|
||||
<button @click="deleteTask(index)" class="delete">Delete</button>
|
||||
<button v-if="!task.completed" @click="completeTask(index)">Complete task</button>
|
||||
</div>
|
||||
</template>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
|
||||
<script src="demo.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in new issue