From 1a25c41d1d2211ec47af7c7d0568ce60154848c7 Mon Sep 17 00:00:00 2001 From: johnniang Date: Fri, 12 Apr 2019 13:07:06 +0800 Subject: [PATCH] Complete post edit feature --- src/api/post.js | 7 +++++++ src/views/post/PostEdit.vue | 14 +++++++++++++- src/views/post/PostList.vue | 10 +++++----- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/api/post.js b/src/api/post.js index b580ef10..202d322e 100644 --- a/src/api/post.js +++ b/src/api/post.js @@ -19,6 +19,13 @@ postApi.query = params => { }) } +postApi.get = postId => { + return service({ + url: `${baseUrl}/${postId}`, + method: 'get' + }) +} + postApi.create = postToCreate => { return service({ url: baseUrl, diff --git a/src/views/post/PostEdit.vue b/src/views/post/PostEdit.vue index f8822132..b20eb3f4 100644 --- a/src/views/post/PostEdit.vue +++ b/src/views/post/PostEdit.vue @@ -214,6 +214,18 @@ export default { this.loadTags() this.loadCategories() }, + beforeRouteEnter(to, from, next) { + // Get post id from query + const postId = to.query.postId + + next(vm => { + if (postId) { + postApi.get(postId).then(response => { + vm.postToStage = response.data.data + }) + } + }) + }, methods: { loadTags() { tagApi.listAll(true).then(response => { @@ -242,7 +254,7 @@ export default { postApi.create(this.postToStage).then(response => { this.$log.debug('Created post', response.data.data) this.$message.success('文章创建成功') - this.postToStage.id = response.data.data.id + this.postToStage = response.data.data }) } }, diff --git a/src/views/post/PostList.vue b/src/views/post/PostList.vue index 468f52e4..54274966 100644 --- a/src/views/post/PostList.vue +++ b/src/views/post/PostList.vue @@ -149,16 +149,16 @@ 编辑 删除 @@ -294,8 +294,8 @@ export default { this.categories = response.data.data }) }, - editPost(id) { - this.$message.success('编辑') + onEditClick(post) { + this.$router.push({ name: 'PostEdit', query: { postId: post.id } }) }, deletePost(id) { this.$message.success('删除')