![](/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.