设置对动态创建的组件的引用



我继承了一个razor组件(来自antdesign),并试图动态地设置一个对新组件的引用,我查看了.razor.g.cs,但它似乎不像我复制它的方式工作。

输入包装器组件:

@inherits Input<string>
@RenderBase()
@code {
private Input<string> _ref;
RenderFragment RenderBase() => builder =>
{   
var callback = EventCallback.Factory.Create<FocusEventArgs>(this, arg =>
{
//Do something
});
builder.OpenComponent(0, typeof(Input<string>));
builder.AddAttribute(1, "OnFocus", callback);
builder.AddAttribute(2, "AllowClear", true);
builder.AddComponentReferenceCapture(3, (__value) => {
_ref = (Input<string>)__value;
});
builder.CloseComponent();   
};
}

我希望能够使用AddComponentReferenceCapture来避免每次我想使用InputWrapper组件时重复引用,是可能的吗?

Your "code"基于的方法与此基本相同,但更困难。可能还有其他属性,例如要绑定到的值,但您没有在问题中显示它们。

@inherits Input<string>
<Input @ref=@_ref OnFocus=@FocusHandler AllowClear="true"/>
@code {
private Input<string> _ref;

Task FocusHandler(FocusEventArgs args)
{
// do something
}
}

相关内容

  • 没有找到相关文章

最新更新