Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
267 views
in Technique[技术] by (71.8m points)

How to pass an object as the model to a component in Blazor?

Is it possible to pass an object as the model to a component? The below demonstrates how I am passing an object's parameters one-by-one, but this is less than ideal if I had a component with many parameters. Ideally, I'd like to do something like <ColorBox Model="@color" /> and have all of the parameters automatically bind where the parameter names match.

ColorBox.cs

public partial class ColorBox : ComponentBase
{
    [Parameter]
    public string Name { get; set; }

    [Parameter]
    public string Hex { get; set; }
}

ColorBox.razor

<div class="card border-0 shadow" style="width: 18rem;">
    <div class="card-header" style="height: 60px; background-color: @Hex;"></div>
    <div class="card-body text-center p-3">
        <h5 class="card-title mb-0">@Name</h5>
        <p class="card-text text-muted">@Hex</p>
    </div>
</div>

Colors.razor

@page "/colors"

@{ 
    var colors = new List<ColorBox> {
        new ColorBox { Hex = "#000000", Name = "Black" },
        new ColorBox { Hex = "#ffffff", Name = "White" }
    };
}

<h1>Colors</h1>

<div class="d-flex flex-wrap">
    @foreach (var color in colors)
    {
    <div class="m-2">
        <ColorBox Hex="@color.Hex" Name="@color.Name" />
    </div>
    }
</div>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...