小编Mic*_*kos的帖子

在一个 RenderFragment 中返回多个组件的最简单方法是什么?

ARenderFragment期望只返回一个组件,但该组件可能具有嵌套组件:

private RenderFragment CreateRenderFragment()
{
    // This works
    return
    @<div>
        <text>Hello</text>
        <text>world!</text>
    </div>;

    // and so does this
    // return @<span><text>Hello</text> <text>world!</text></span>;
}
Run Code Online (Sandbox Code Playgroud)

如果我们不想将组件包含在 a 中<div>,或者<span>我们可以按照约定创建一个 razor 组件ChildContent,例如ChildContentComponent

@ChildContent

@code
{
    [Parameter] public RenderFragment ChildContent { get; set; }
}

Run Code Online (Sandbox Code Playgroud)

然后使用该组件作为包装器:

private RenderFragment CreateRenderFragment()
{
    return
    @<ChildContentComponent>
        <text>Hello</text>
        <text>world!</text>
    </ChildContentComponent>;
}
Run Code Online (Sandbox Code Playgroud)

我可能错过了一些东西,但我看不到任何其他方法来创建RenderFragment具有多个组件的组件。以下均不能编译:

private RenderFragment CreateRenderFragment1()
{
    return @<text>Hello</text> <text>world!</text>;
}

private RenderFragment CreateRenderFragment2()
{
    return
    @:@{
        <text>Hello</text>
        <text>world!</text> …
Run Code Online (Sandbox Code Playgroud)

c# razor blazor

0
推荐指数
1
解决办法
420
查看次数

标签 统计

blazor ×1

c# ×1

razor ×1