From 3c39e72230e5c67b4f4127e9264a2829618c0e01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=82=85=E5=85=89=E5=AD=9F?= Date: Thu, 12 Feb 2026 10:02:47 +0800 Subject: [PATCH] =?UTF-8?q?feat(recommend):=20=E4=BC=98=E5=8C=96=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E6=A2=B3=E7=90=86=E5=B1=95=E5=BC=80=E6=94=B6=E8=B5=B7?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重构事件梳理组件的展开收起逻辑,统一处理方式 - 添加点击切换展开收起状态的方法 - 修复背景图片引用错误,上下箭头图标对调问题 - 优化样式代码格式,提升代码可读性 fix(detail): 修复进一步阅读数据初始化位置 --- src/pages/detail/indexNewsInfo.vue | 5 ++-- src/pages/recommend/index.vue | 42 +++++++++++++++++++----------- 2 files changed, 30 insertions(+), 17 deletions(-) diff --git a/src/pages/detail/indexNewsInfo.vue b/src/pages/detail/indexNewsInfo.vue index c65614b..21109cb 100644 --- a/src/pages/detail/indexNewsInfo.vue +++ b/src/pages/detail/indexNewsInfo.vue @@ -72,11 +72,9 @@ const newList = async (columnId: number) => { page: 1, size: 5, }); - if (res.code === 200) { // console.log(res.data) columnList.value = res.data; - furtherReadData.value = res.data.furtherReadings || []; } }; @@ -242,6 +240,9 @@ onLoad(async (option: any) => { res.data.content = res.data.content.replace(/\n{3,}/g, "\n"); columnName.value = res.data.columnName1; + + furtherReadData.value = res.data.furtherReadings || []; + newList(res.data.columnId1); wxShare(); } diff --git a/src/pages/recommend/index.vue b/src/pages/recommend/index.vue index 6524c54..e44ad49 100644 --- a/src/pages/recommend/index.vue +++ b/src/pages/recommend/index.vue @@ -74,17 +74,18 @@ :class="['events-collapse']" v-if="news.furtherReadings?.length > 0" > - + 事件梳理 - 展开 - 收起 + 展开 + 收起 { }; const selectKeys = ref([]); -const handleOpenEvents = (id: string) => { - selectKeys.value.push(id); +const handleClickToggle = (id: string, type: string) => { + if (!type) { + selectKeys.value = selectKeys.value.filter((item) => item !== id); + } else { + selectKeys.value.push(id); + } }; const handleCloseEvents = (id: string) => { @@ -194,6 +199,12 @@ const getList = async () => { if (result.code === 200) { const { list, total } = result.data; data.value = list; + list.forEach((o) => { + o.list.forEach((n) => { + selectKeys.value.push(n.id) + }); + }); + } else { data.value = []; } @@ -414,7 +425,8 @@ onMounted(async () => { // height: 20rpx; margin-right: 10rpx; padding-right: 24rpx; - background: url("@/assets/images/page/star_icon@2x.png") no-repeat center right; + background: url("@/assets/images/page/star_icon@2x.png") no-repeat center + right; background-size: 20rpx 20rpx; font-size: 24rpx; line-height: 24rpx; @@ -515,7 +527,7 @@ onMounted(async () => { } .t-2 { padding-right: 26rpx; - background-image: url("@/assets/images/page/down_icon@2x.png"); + background-image: url("@/assets/images/page/up_icon@2x.png"); background-repeat: no-repeat; background-position: right center; background-size: 19rpx 12rpx; @@ -527,7 +539,7 @@ onMounted(async () => { &.active { .t-2 { - background-image: url("@/assets/images/page/up_icon@2x.png"); + background-image: url("@/assets/images/page/down_icon@2x.png"); } } }