Ethsim2
(Ethan )
1
我仍在确认这是否与主题相关,但想问问是否有人也能复现此问题。
在 /upcoming-events 页面上,点击事件卡片内的链接似乎会打开用户卡片,而不是正常跳转链接。这可能是点击目标区域或 z-index 层级的问题。
版本
Discourse 版本:2026.5.0-latest
提交:645cb014c0
复现步骤
- 进入
/upcoming-events。
- 找到包含链接的事件卡片。
- 点击该事件卡片上的链接。
预期结果
链接应正常打开或跳转。
实际结果
打开的是用户卡片。
备注
我目前还不确定这是由核心程序、日历/事件插件,还是我网站上的某个主题/组件引起的。我将在测试安全模式后更新此话题。
如有需要,我可以提供截图或屏幕录制视频。
Ethsim2
(Ethan )
2
日历事件点击似乎由 FullCalendar 的 eventClick 处理,该处理会打开菜单:
eventClick: async ({ el, event, jsEvent }) => {
const { postNumber, postUrl, postEvent } = event.extendedProps;
if (postEvent?.id) {
jsEvent.preventDefault();
this.activeMenu = await this.menu.show(
...
{
identifier: "post-event-menu",
component: PostEventMenu,
...
}
);
}
}
随后菜单会渲染:
const PostEventMenu = <template>
<DiscoursePostEvent
@linkToPost={{true}}
@event={{@data.event}}
@onClose={{@data.onClose}}
@withDescription={{true}}
@clampDescription={{true}}
/>
</template>;
因此,流程似乎如下:
FullCalendar eventClick
→ post-event-menu
→ DiscoursePostEvent
→ 菜单/弹出框内的用户卡片行为
Ethsim2
(Ethan )
3
我可能混淆了两个相关的界面:完整的 /upcoming-events 日历和 UpcomingEventsList 组件。该列表组件似乎将每个事件渲染为指向 event.post.url 的普通锚点,因此我不期望那里会出现用户卡片的行为。
我没有遇到这个问题!
当我进入“即将举行的活动”并点击某个活动时,会显示该活动的预览,如果我点击链接,就会跳转到相关主题。
我可能误解了你的问题: