检查 RenderFragment 是否为空

Ray*_*Ray 7 razor asp.net-core blazor

有没有办法检查 RenderFragment 是否为空?

例如,在下面的代码中,MyComp显示DetailifOpen为真,您可以Open通过单击标题进行切换。现在,如果没有标题,我希望Detail片段始终处于打开状态。如果有像HeaderTitle.IsEmpty.

    <MyComp Open="false">
        <HeaderTitle>
             @if (!String.IsNullOrEmpty(hdr)) {
                 ...
                <div class="flex-grow"> @hdr </div>
            }
        </HeaderTitle>
        <Detail>
            ...
        </Detail>
   </MyComp>
Run Code Online (Sandbox Code Playgroud)

编辑

为了进一步讨论,我在这里添加了一个功能请求。

Mis*_*goo 1

老问题,但由于它没有得到回答并且得到了投票......

RenderFragment 是一个代码方法,而不是一个容器,因此它没有状态Empty。它可以为 null - 相当于空,因为它不会产生任何渲染输出。

在这个问题的上下文中,您可以有效地视为null-Empty并且只需在代码中包含一个方法

bool HeaderTitleIsEmpty => HeaderTitle is null;
Run Code Online (Sandbox Code Playgroud)