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

时间:2020-01-26 08:49:27

标签: blazor blazor-server-side

这是我想做的事的一个例子:

父组件

<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文档中找不到关于此操作的任何信息。我指的不是泼溅。

2 个答案:

答案 0 :(得分:4)

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

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"};
} 

答案 1 :(得分:1)

这取决于您喜欢的符号。如果要保持使用方清洁,可以使用简单的字符串并在组件内部对其进行处理:

<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;}
}