From f1197331f66bb489e73308607f8f121fcce00c0b Mon Sep 17 00:00:00 2001 From: sa0ChunLuyu Date: Fri, 13 Sep 2024 21:11:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20=E6=96=B0=E9=97=BB?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- h5/pages/posts/posts/src/list1.vue | 202 ++++++++++++++++++++++++++++- 1 file changed, 198 insertions(+), 4 deletions(-) diff --git a/h5/pages/posts/posts/src/list1.vue b/h5/pages/posts/posts/src/list1.vue index d25ce21..e54d46b 100644 --- a/h5/pages/posts/posts/src/list1.vue +++ b/h5/pages/posts/posts/src/list1.vue @@ -5,6 +5,9 @@ * date:2024年9月11日 19:24:50 */ import { + watch, + computed, + onMounted, ref } from 'vue' import { @@ -34,6 +37,54 @@ default: 1 } }); + const search_input = ref('') + const posts_list = ref([]) + const posts_list_show = computed(() => { + if (!!search_input.value) { + let list = [] + for (let i in posts_list.value) { + if (posts_list.value[i].title.includes(search_input.value)) { + list.push(posts_list.value[i]) + } + } + return list + } else { + return posts_list.value + } + }) + const htmlToText = (content) => { + return content + } + const getDetail = async (item, key) => { + const response = await $api('ArticleGetDetail', { + id: item.id + }) + $response(response, () => { + posts_list.value[key].content = htmlToText(response.data.info.content) + }) + } + + const contentShow = (info, key) => { + posts_list.value[key].open = !posts_list.value[key].open + if (posts_list.value[key].open && !posts_list.value[key].content) { + getDetail(info, key) + } + } + + watch( + () => $props.list, + () => { + posts_list.value = JSON.parse(JSON.stringify($props.list)).map((item) => { + return { + content: '', + ...item, + open: false + } + }) + }, { + immediate: true + } + )