相关疑难解决方法(0)

如何使用foreach从父组件调用子组件方法

我已经看到了如何使用该@ref属性从父组件调用子组件方法的示例,但是当我尝试将其与foreach循环一起使用时,只有最后渲染的组件的方法被调用,而不是全部。以下是我的组件的示例。

父组件:

<button type="button" class="btn btn-link" @onclick="BtnSyncAll_Click">Run<button>

@foreach(var site in Sites)
{
    <Site @ref="SiteView" @Code="@site"></Site>
}

@code {
    protected Site SiteView;
    protected List<string> Sites { get; set; } = new List<string>
    {
        "A00001",
        "A00002"
    };

    protected async Task BtnSyncAll_Click()
    {
        await SiteView.Sync();
    }
}
Run Code Online (Sandbox Code Playgroud)

子组件(Site.razor):

<div>
    <p>@Code>/p>
</div>

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

    protected async Task Sync()
    {
        await ...
    }
}
Run Code Online (Sandbox Code Playgroud)

blazor blazor-server-side

5
推荐指数
1
解决办法
3395
查看次数

如何在 Blazor 中调用子组件的方法

我有Foo.razor

@foreach (var item in items) {
  <p>@item</p>
}

@code {
  private List<string> items = new List<string>();

  public void Append(string item) => items.Add(item);
}
Run Code Online (Sandbox Code Playgroud)

如果我有Bar.razor

<Foo/>

@code {
  public void SomeMethod() {
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能Append("something")从打电话SomeMethod()

blazor blazor-server-side

0
推荐指数
1
解决办法
3852
查看次数

标签 统计

blazor ×2

blazor-server-side ×2