保存进度!

This commit is contained in:
Kane Wang 2022-10-25 18:01:01 +08:00
parent e4fff250d2
commit b0f9f4e48d
1 changed files with 203 additions and 181 deletions

View File

@ -2,7 +2,7 @@
* @Author: Kane * @Author: Kane
* @Date: 2022-10-21 16:36:51 * @Date: 2022-10-21 16:36:51
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2022-10-23 15:22:51 * @LastEditTime: 2022-10-25 14:21:00
* @FilePath: \car_dealer\vue\todo-list.html * @FilePath: \car_dealer\vue\todo-list.html
* @Description: * @Description:
* *
@ -10,195 +10,217 @@
--> -->
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>待办任务</title>
<link rel="stylesheet" href="../css/root.css" />
<link rel="stylesheet" href="../css/normalize.css" />
<link rel="stylesheet" href="../css/kane.css" />
<link rel="stylesheet" href="../css/todo-list/to-list.css" />
<script src="../js/vue/vue.global.js"></script>
</head>
<head> <body>
<meta charset="UTF-8" /> <div id="app">
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <div id="message_border">
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <div class="message_box">
<title>待办任务</title> <span>{{errorMessage}}</span>
<link rel="stylesheet" href="../css/root.css" /> <button type="button" @click="closeMessageBox()">
<link rel="stylesheet" href="../css/normalize.css" /> 关闭
<link rel="stylesheet" href="../css/kane.css" /> </button>
<link rel="stylesheet" href="../css/todo-list/to-list.css" />
<script src="../js/vue/vue.global.js"></script>
</head>
<body>
<div id="app">
<div id="message_border">
<div class="message_box">
<span>{{errorMessage}}</span>
<button type="button" @click="closeMessageBox()">关闭</button>
</div>
</div>
<div class="content">
<h1>{{title}}</h1>
<div class="border">
<div class="add_todo">
<input type="text" placeholder="请输入待办事项" />
<button type="button" @click="showMessageBox()">添加</button>
</div> </div>
<hr> </div>
<div class="todo_list"> <div class="content">
<div v-for="(item,index) in todo_list" :key="index"> <h1>{{title}}</h1>
<input type="checkbox" v-model="todo_list[index].selected" /> <div class="border">
<span v-show="!item.edit">{{item.todo_text}}</span> <div class="add_todo">
<input type="text" v-show="item.edit" v-model="item.todo_text" /> <input
<button type="button" v-on:click="editTodo(index,event)"> type="text"
修改 v-model="todo_text"
placeholder="请输入待办事项"
/>
<button type="button" @click="showMessageBox()">
添加
</button> </button>
<button type="button" @click="removeTodo(index)">删除</button> </div>
<hr />
<div class="todo_list">
<div v-for="(item,index) in todo_list" :key="index">
<input
type="checkbox"
v-model="todo_list[index].selected"
/>
<span v-show="!item.edit">{{item.todo_text}}</span>
<input
type="text"
v-show="item.edit"
v-model="item.todo_text"
/>
<button
type="button"
v-on:click="editTodo(index,event)"
>
修改
</button>
<button type="button" @click="removeTodo(index)">
删除
</button>
</div>
</div>
<hr />
<div class="tools">
<p class="summary">总计:{{todo_list.length}}</p>
</div> </div>
</div> </div>
<hr>
<div class="tools">
<p class="summary">总计:{{todo_list.length}}</p>
</div>
</div> </div>
</div> </div>
</div> </body>
<script>
</body> const app = {
<script> data() {
const app = { return {
data() { title: "待办任务",
return { errorMessage: "奇怪的错误!",
title: "待办任务", todo_text: "",
errorMessage: "奇怪的错误!", todo_list: [
todo_list: [{ {
selected: false, selected: false,
todo_text: "回家", todo_text: "回家",
edit: false edit: false,
}, },
{ {
selected: true, selected: true,
todo_text: "吃饭", todo_text: "吃饭",
edit: false edit: false,
}, },
{ {
selected: false, selected: false,
todo_text: "洗澡", todo_text: "洗澡",
edit: false edit: false,
}, },
{ {
selected: false, selected: false,
todo_text: "玩游戏", todo_text: "玩游戏",
edit: false edit: false,
}, },
{ {
selected: false, selected: false,
todo_text: "回家", todo_text: "回家",
edit: false edit: false,
}, },
{ {
selected: true, selected: true,
todo_text: "吃饭", todo_text: "吃饭",
edit: false edit: false,
}, },
{ {
selected: false, selected: false,
todo_text: "洗澡", todo_text: "洗澡",
edit: false edit: false,
}, },
{ {
selected: false, selected: false,
todo_text: "玩游戏", todo_text: "玩游戏",
edit: false edit: false,
}, },
{ {
selected: false, selected: false,
todo_text: "回家", todo_text: "回家",
edit: false edit: false,
}, },
{ {
selected: true, selected: true,
todo_text: "吃饭", todo_text: "吃饭",
edit: false edit: false,
}, },
{ {
selected: false, selected: false,
todo_text: "洗澡", todo_text: "洗澡",
edit: false edit: false,
}, },
{ {
selected: false, selected: false,
todo_text: "玩游戏", todo_text: "玩游戏",
edit: false edit: false,
}, },
{ {
selected: false, selected: false,
todo_text: "回家", todo_text: "回家",
edit: false edit: false,
}, },
{ {
selected: true, selected: true,
todo_text: "吃饭", todo_text: "吃饭",
edit: false edit: false,
}, },
{ {
selected: false, selected: false,
todo_text: "洗澡", todo_text: "洗澡",
edit: false edit: false,
}, },
{ {
selected: false, selected: false,
todo_text: "玩游戏", todo_text: "玩游戏",
edit: false edit: false,
}, },
{ {
selected: false, selected: false,
todo_text: "回家", todo_text: "回家",
edit: false edit: false,
}, },
{ {
selected: true, selected: true,
todo_text: "吃饭", todo_text: "吃饭",
edit: false edit: false,
}, },
{ {
selected: false, selected: false,
todo_text: "洗澡", todo_text: "洗澡",
edit: false edit: false,
}, },
{ {
selected: false, selected: false,
todo_text: "玩游戏", todo_text: "玩游戏",
edit: false edit: false,
}, },
], ],
}; };
},
methods: {
addTodo() {},
editTodo(index, event) {
console.log(index);
console.log(event);
this.todo_list[index].edit = !this.todo_list[index].edit;
}, },
removeTodo(index) { methods: {
this.todo_list.splice(index, 1); addTodo() {},
editTodo(index, event) {
console.log(index);
console.log(event);
this.todo_list[index].edit = !this.todo_list[index].edit;
},
removeTodo(index) {
this.todo_list.splice(index, 1);
},
showMessageBox() {
const message = document.getElementById("message_border");
message.style["display"] = "flex";
},
closeMessageBox() {
const message = document.getElementById("message_border");
message.style["display"] = "none";
},
}, },
showMessageBox() { computed: {
const message = document.getElementById("message_border"); buttonText(edit) {
return edit ? 修改 : 保存;
message.style["display"] = "flex"; },
}, },
closeMessageBox() { mounted() {
const message = document.getElementById("message_border"); console.log("挂载完成!");
message.style["display"] = "none";
}
},
computed: {
buttonText(edit) {
return edit ? 修改 : 保存;
}, },
}, };
};
const vm = Vue.createApp(app); const vm = Vue.createApp(app);
vm.mount("#app"); vm.mount("#app");
</script> </script>
</html>
</html>