From 4d887e2aab82eda3c768e84f13c072de1235f088 Mon Sep 17 00:00:00 2001 From: dichgrem Date: Fri, 28 Nov 2025 11:07:19 +0800 Subject: [PATCH] feat:Drag&&drop_sorting --- todos/package-lock.json | 7 +++++++ todos/package.json | 1 + todos/src/App.vue | 9 ++++++--- todos/src/components/TodoList.vue | 20 ++++++++++++++++++-- 4 files changed, 32 insertions(+), 5 deletions(-) diff --git a/todos/package-lock.json b/todos/package-lock.json index 1285f6d..e694da0 100644 --- a/todos/package-lock.json +++ b/todos/package-lock.json @@ -8,6 +8,7 @@ "name": "todos", "version": "0.0.0", "dependencies": { + "sortablejs": "^1.15.6", "vue": "^3.5.24" }, "devDependencies": { @@ -1163,6 +1164,12 @@ "fsevents": "~2.3.2" } }, + "node_modules/sortablejs": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.6.tgz", + "integrity": "sha512-aNfiuwMEpfBM/CN6LY0ibyhxPfPbyFeBTYJKCvzkJ2GkUpazIt3H+QIPAMHwqQ7tMKaHz1Qj+rJJCqljnf4p3A==", + "license": "MIT" + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", diff --git a/todos/package.json b/todos/package.json index e497210..0ea697e 100644 --- a/todos/package.json +++ b/todos/package.json @@ -9,6 +9,7 @@ "preview": "vite preview" }, "dependencies": { + "sortablejs": "^1.15.6", "vue": "^3.5.24" }, "devDependencies": { diff --git a/todos/src/App.vue b/todos/src/App.vue index 5241670..dfa2eed 100644 --- a/todos/src/App.vue +++ b/todos/src/App.vue @@ -30,7 +30,6 @@ export default { }, }, - methods: { addTodo(newTodo) { const todo = { @@ -42,6 +41,11 @@ export default { console.log("添加 Todo:", todo); }, + moveTodo({ oldIndex, newIndex }) { + const item = this.todos.splice(oldIndex, 1)[0]; + this.todos.splice(newIndex, 0, item); + }, + delTodo(item) { console.log("删除 Todo:", item); this.todos = this.todos.filter((t) => t.id !== item.id); @@ -67,12 +71,11 @@ export default { }, }, }; -