You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击MudNavLink时如何保持MudNavGroup展开?求最优实现方案

解决方案

问题出在你给MudNavGroup绑定了全局的@onclick事件——当点击子元素MudNavLink时,事件会向上冒泡触发父元素的点击逻辑,导致展开状态意外切换。MudNavGroup本身自带仅点击标题/图标区域切换展开状态的默认行为,不需要手动绑定全局点击事件。

修改后的代码

<MudNavGroup Title="Exams" Icon="@Icons.Material.Filled.Settings" Expanded="@Exams">
    <MudNavLink Title="Find Exam" href="findExam" Icon="@Icons.Material.Filled.AdminPanelSettings">Find an Exam</MudNavLink>
    <MudNavLink Title="Find Exam" href="ModifyRegistration" Icon="@Icons.Material.Filled.AdminPanelSettings">Modify Registration</MudNavLink>
    <MudNavLink Title="Find Exam" href="RegistrationForExam" Icon="@Icons.Material.Filled.AdminPanelSettings">Registration For Exam</MudNavLink>
</MudNavGroup>

<MudNavGroup Title="Laurel Information" Icon="@Icons.Material.Filled.Settings" Expanded="@Info">
    <MudNavLink Href="/Officers" Icon="@Icons.Material.Filled.Receipt">Credits</MudNavLink>
    <MudNavLink Href="/Coordinators" Icon="@Icons.Material.Filled.Receipt">Coordinators</MudNavLink>
    <MudNavLink Href="/Webmaster" Icon="@Icons.Material.Filled.Receipt">Webmasters</MudNavLink>
    <MudNavLink Href="/Credits" Icon="@Icons.Material.Filled.Receipt">Webmasters</MudNavLink>
</MudNavGroup>

补充说明

如果需要自定义展开/收起的逻辑(比如额外的状态同步、日志记录等),不要直接给MudNavGroup加@onclick,而是使用组件内置的OnToggle事件:

<MudNavGroup Title="Exams" Icon="@Icons.Material.Filled.Settings" Expanded="@Exams"
             OnToggle="@((expanded) => {
                 Exams = expanded;
                 // 这里添加自定义逻辑,比如状态同步、日志输出等
             })">
    <!-- 子项内容省略 -->
</MudNavGroup>

这种方式既保留了组件默认的点击区域限制,又能实现自定义逻辑,完全匹配官方文档的交互表现。

内容的提问来源于stack exchange,提问作者Darryl Wagoner WA1GON

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 06:25:01