MucoBey
MucoBey

Reputation: 191

How to create reusable RenderFragments with multiple params

I was wondering, if it is possible to create reusable RenderFragments with multiple params. There are Microsoft Docs examples with 1 parameter, but not with multiple. Is it possible?

I want to have something like this:

@Row("text1", "text2");

@code {    
    RenderFragment<string, string> Row = (string col1, string col2) => __builder =>
    {
        <div class="row">
            <div class="col-5 align-self-center">
                @col1
            </div>
            <div class="col align-self-center">
                @col2
            </div>
        </div>
    }
}

Upvotes: 3

Views: 1505

Answers (1)

enet
enet

Reputation: 45666

You may do that like this:

@Row(("text1", "text2"))


@code 
{  
   RenderFragment<(string col1, string col2)> Row => value => __builder =>
   {
     <div class="row">
        <div class="col-5 align-self-center">
            @value.col1
        </div>
        <div class="col align-self-center">
            @value.col2
        </div>
     </div>
   };
}

UPDATE

@Row(("text1", "text2", Message("This is my message")))

@code 
{
     RenderFragment<(string col1, string col2, RenderFragment fragnment)> Row => value => __builder =>
    {
    <div class="row">
        <div class="col-5 align-self-center">
            @value.col1
        </div>
        <div class="col align-self-center">
            @value.col2
        </div>
        <div class="col align-self-center">
            @value.fragnment
        </div>
    </div>
    };

    RenderFragment<string> Message => (message) => __builder =>
     { <h1>@message</h1>;
    };

}

Upvotes: 5

Related Questions