繁体   English   中英

将 @ref 添加到循环中的 Blazor 组件

[英]Add @ref to a Blazor component in a loop

如何将@ref添加到循环内的 Blazor 组件?

@for (int i = 0; i < 10; i++)
{
    <MyComponent @ref="???"/> // I want to add this component to the list
}

@code
{
    List<MyComponent> components = new List<MyComponent>();
}

@Kahbazi 我无法回复,所以我必须在这里问。 __value 来自哪里?

我的解决方案如下:

@for (int i = 0; i < 10; i++)
{ 
    <MyComponent @ref="ComponentRef" />
}

@code {
    List<MyComponent> ComponentRefs = new List<MyComponent>();
    MyComponent ComponentRef {
        set { ComponentRefs.Add(value); }
    }
}

Blazor 编译器现在的工作方式是,您可以在@ref属性上注入C#代码。 您可以使用它来将组件添加到列表中。

@for (int i = 0; i < 10; i++)
{
    <MyComponent @ref="components.Add((MyComponent)__value);//" />
}

@code
{
    List<MyComponent> components = new List<MyComponent>();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM