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

如何在MudBlazor的ListItem内嵌套列表前添加if语句?

解决MudListItem条件渲染报错及隐藏展开图标问题

报错原因与修复

你遇到的"Unrecognized child component inside component MudListItem"错误,是因为Blazor中多行的条件渲染代码块必须用大括号{}包裹。你的代码里@if后面直接跟了<NestedList>,没有用大括号限定条件范围,导致框架无法正确解析组件结构。

修正后的代码如下:

<MudListItem ... ShowExpandIcon="@(nestedItems.Count > 0)">
    <!-- 其他内容 -->
    @if (nestedItems.Count > 0)
    {
        <NestedList>
            <!-- 嵌套列表内容 -->
        </NestedList>
    }
</MudListItem>

隐藏展开图标的实现

不需要通过是否渲染嵌套内容来间接控制图标显示,MudListItem自带ShowExpandIcon属性,直接绑定到nestedItems.Count > 0即可:

  • 当nestedItems有内容时,ShowExpandIcon为true,显示展开图标;
  • 当nestedItems为空时,ShowExpandIcon为false,自动隐藏图标。

这样既解决了条件渲染的语法错误,又精准实现了无嵌套项时隐藏图标的需求,同时保证没有嵌套内容时不会渲染多余的组件节点。

内容的提问来源于stack exchange,提问作者frostydog47

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 21:05:54