![](/img/trans.png)
[英]How in Blazor Set component properties through a Reference that obtained by @Ref
[英]Blazor binding is not working when calling a method from @ref component reference
我有一个简单的 Blazor 组件,它是已绑定到属性的文本框:
<input @bind="TheValue" />
@code {
public string TheValue { get; set; } = "abc";
public void FillTextBox(string s)
{
TheValue = s;
Console.WriteLine("TheValue is = " + TheValue);
}
}
在我使用组件的主页中,我有以下代码:
<MyTextbox @ref="myTextbox" /></MyTextbox>
<button @onclick="@(()=>myTextbox.FillTextBox("123"))">Fill</button>
@code {
MyTextbox myTextbox;
}
当组件被渲染时,它的默认值是“abc”,如果我在组件内部调用FillTextBox
,它也可以正常工作,但是当我点击按钮时,尽管FillTextBox
将被执行(并在控制台中显示值)它确实不改变输入元素的值。 所以总结一下,当我调用更改绑定变量的方法时, @bind
不起作用。
更新:我正在寻找数据绑定或将值传递给子组件,我正在寻找调用先前创建的子组件方法,而不必担心该组件是否会正确呈现自身。
我认为当您的组件像这样使用时,组件不会重新渲染。 也许添加一个带有 StateHasChanged 的方法并调用这个方法来完成这项工作?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.