如何为Blazor组件内的RenderFragment参数传入渲染内容?
Blazor 自定义Card组件RenderFragment类型参数赋值方案
你使用的是Blazor的RenderFragment类型组件参数,有两种常用的赋值方式:
方式一:子参数标签赋值(最常用,适合嵌套复杂HTML内容)
直接在组件标签内部,添加和参数名同名的子标签,把需要渲染的内容放在子标签内部即可,示例代码:
<Card> <!-- 给Header参数传值 --> <Header> <h4>My card header</h4> </Header> <!-- 给Body参数传值 --> <Body> <p>卡片正文内容区域,可以放任意HTML、组件代码</p> </Body> <!-- 给Actions参数传值 --> <Actions> <button class="aks-btn">操作按钮</button> </Actions> </Card>
这种方式是Blazor中给RenderFragment传值的标准写法,支持任意层级的嵌套内容,可读性最高。
方式二:行内属性赋值(适合简单内容场景)
如果内容比较简单,也可以直接在组件标签上通过属性语法赋值:
<Card Header=@(<h4>My card header</h4>) />
注意事项:
- Blazor组件遵循帕斯卡命名规范,建议调用时使用和组件类名一致的大写开头
<Card>,如果你的组件定义时就是小写名,保持<card>调用即可 - 不需要的参数可以直接留空,组件不会渲染空的RenderFragment内容
内容的提问来源于stack exchange,提问作者bilpor
相关产品推荐
相关产品推荐

