如何将 List<string> 作为参数传递给 blazor 中的子组件?

How can I pass a List<string> as a parameter to a child component in blazor?

这是我想做的一个例子:

父组件

<MyChildComponent ParamList="{hello, world, this is great}"/>

子组件

<ol>
    @foreach(string myParam in ParamList)
    {
        <li>@myParam</li>
    }
</ol>

@code {
[Parameter]
public List<string> ParamList {get;set;}
}

预期输出

1. Hello
2. World
3. this is great

我觉得我做错了什么,因为我在 blazor 文档中找不到任何关于这样做的内容。我不是指飞溅。

您可以通过多种方式进行。这是一个:

MyChildComponent.razor

<ol>
@foreach (string myParam in ParamList)
{
    <li>@myParam</li>
}
</ol>

@code {
   [Parameter]
   public IReadOnlyList<string> ParamList { get; set; }
}

用法

<MyChildComponent ParamList="list" />

@code{

List<string> list =  new List<string> {"hello", "world", "Angular is great"};
} 

这取决于你喜欢什么符号。如果你想保持使用端干净,你可以使用一个简单的字符串并在组件内部处理它:

<MyChildComponent ParamList="hello, world, this is great"/>

...

<ol>
    @foreach(string myParam in ParamList.Split(',') )
    {
        <li>@myParam</li>
    }
</ol>

参数很简单string

@code {
[Parameter]
public string ParamList {get;set;}
}