Compare commits

...

2 Commits

2 changed files with 188 additions and 204 deletions

View File

@ -2,7 +2,7 @@
* @Author: Kane * @Author: Kane
* @Date: 2022-10-21 16:39:27 * @Date: 2022-10-21 16:39:27
* @LastEditors: Kane * @LastEditors: Kane
* @LastEditTime: 2022-10-23 15:26:59 * @LastEditTime: 2022-10-30 23:50:04
* @FilePath: \car_dealer\css\todo-list\to-list.css * @FilePath: \car_dealer\css\todo-list\to-list.css
* @Description: 用于待办事项页面的css * @Description: 用于待办事项页面的css
* *
@ -85,9 +85,14 @@ hr {
.todo_list::-webkit-scrollbar { .todo_list::-webkit-scrollbar {
width: 0.75rem; width: 0.75rem;
cursor: pointer;
/* height: 100px; */ /* height: 100px; */
} }
.todo_list::-webkit-scrollbar-thumb {
cursor: pointer;
}
.todo_list:hover::-webkit-scrollbar-thumb { .todo_list:hover::-webkit-scrollbar-thumb {
border-radius: 10px; border-radius: 10px;
-webkit-box-shadow: inset 0 0 5px var(--scrollbar-track-color); -webkit-box-shadow: inset 0 0 5px var(--scrollbar-track-color);

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-25 14:21:00 * @LastEditTime: 2022-10-31 00:13:22
* @FilePath: \car_dealer\vue\todo-list.html * @FilePath: \car_dealer\vue\todo-list.html
* @Description: * @Description:
* *
@ -10,217 +10,196 @@
--> -->
<!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>
<body> <head>
<div id="app"> <meta charset="UTF-8" />
<div id="message_border"> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<div class="message_box"> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<span>{{errorMessage}}</span> <title>待办任务</title>
<button type="button" @click="closeMessageBox()"> <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>
<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" v-model="todo_text" placeholder="请输入待办事项" />
<button type="button" @click="showMessageBox()">
添加
</button> </button>
</div> </div>
</div> <hr />
<div class="content"> <div class="todo_list">
<h1>{{title}}</h1> <div v-for="(item,index) in todo_list" :key="index">
<div class="border"> <input type="checkbox" v-model="todo_list[index].selected" />
<div class="add_todo"> <span v-show="!item.edit">{{item.todo_text}}</span>
<input <input type="text" v-show="item.edit" v-model="item.todo_text" />
type="text" <button type="button" v-on:click="editTodo(index,event)">
v-model="todo_text" 修改
placeholder="请输入待办事项" </button>
/> <button type="button" @click="removeTodo(index)">
<button type="button" @click="showMessageBox()"> 删除
添加
</button> </button>
</div> </div>
<hr /> </div>
<div class="todo_list"> <hr />
<div v-for="(item,index) in todo_list" :key="index"> <div class="tools">
<input <p class="summary">总计:{{todo_list.length}}</p>
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> </div>
</div> </div>
</body> </div>
<script> </body>
const app = { <script>
data() { const app = {
return { data() {
title: "待办任务", return {
errorMessage: "奇怪的错误!", title: "待办任务",
todo_text: "", errorMessage: "奇怪的错误!",
todo_list: [ todo_text: "",
{ 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: { methods: {
addTodo() {}, addTodo() {},
editTodo(index, event) { editTodo(index, event) {
console.log(index); console.log(index);
console.log(event); console.log(event);
this.todo_list[index].edit = !this.todo_list[index].edit; 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";
},
}, },
computed: { removeTodo(index) {
buttonText(edit) { this.todo_list.splice(index, 1);
return edit ? 修改 : 保存;
},
}, },
mounted() { showMessageBox() {
console.log("挂载完成!"); const message = document.getElementById("message_border");
},
}; message.style["display"] = "flex";
},
closeMessageBox() {
const message = document.getElementById("message_border");
message.style["display"] = "none";
}
},
};
const vm = Vue.createApp(app);
vm.mount("#app");
</script>
const vm = Vue.createApp(app);
vm.mount("#app");
</script>
</html> </html>