Reputation: 191
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
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>
};
}
@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