Blazor:有条件地显示RenderFragment组件 [英] Blazor: Conditionally display RenderFragment component

查看:16
本文介绍了Blazor:有条件地显示RenderFragment组件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我设计了一个简单的Blazor组件,它是卡片的包装器。用法如下:

<Card Title="Some title">
    <CardBody>My body content</CardBody>
    <CardFooter><a href="...">Go</a></CardFooter>
</Card>

它的使用相当简单。但是,在某些情况下,我不希望使用CardFooter组件。但我不能有条件地选择呈现CardFooter。IF语句不能位于外部,如下所示:

@if(myCondition){<CardFooter><a href="...">Go</a></CardFooter>};

必须放在这样的内部:

<CardFooter>@if(myCondition){...display something};</CardFooter>

问题是无论如何我都必须呈现一个空的CardFooter。我希望我可以使用if语句来决定根本不呈现页脚。有可能吗?

谢谢!

推荐答案

如果<;CardBody&>和<;CardFooter&>是<;CardFooter&>的子组件,则在<;Card&>组件上添加参数。

[Parameter] public bool ShowFooter { get; set; }

然后,从主机使用:

<Card ShowFooter=@myCondition>

然后在您的<;Card&>组件中使用:

@if (ShowFooter)
{
    <CardFooter>Content</CardFooter>
}

这篇关于Blazor:有条件地显示RenderFragment组件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆