From 0918204c60d928fdee8199447bc3c41b3c4934ed Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sat, 30 Jul 2022 15:05:39 +0800 Subject: [PATCH] web: go to post detail page if main page not at first when create post success --- web/src/views/Home.vue | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/web/src/views/Home.vue b/web/src/views/Home.vue index 5c67e2b3..d1ce8b39 100644 --- a/web/src/views/Home.vue +++ b/web/src/views/Home.vue @@ -84,24 +84,36 @@ const loadPosts = () => { }; const onPostSuccess = (post: Item.PostProps) => { - let items = []; - let length = list.value.length; - if (length == pageSize.value) { + // 如果不在第一页,需要跳转到详情页面 + if (page.value != 1) { + router.push({ + name: 'post', + query: { + id: post.id, + }, + }); + return; + } + + // 如果实在第一页,就地插入新推文到文章列表中 + let items = []; + let length = list.value.length; + if (length == pageSize.value) { length--; - } - var i = 0; - for (;i < length; i++) { + } + var i = 0; + for (;i < length; i++) { let item: Item.PostProps = list.value[i]; if (!item.is_top) { break; } items.push(item); - } - items.push(post); - for (;i < length; i++) { + } + items.push(post); + for (;i < length; i++) { items.push(list.value[i]); - } - list.value = items; + } + list.value = items; }; const updatePage = (p: number) => {