我希望文本区域始终显示变量的值。但只有当我单击按钮时它才会更新。每次变量更改时我可以做什么来更新文本区域?
<button class="btn btn-primary" @onclick="Test">Test</button>
<textarea type="text" name="configJson" id="configJson" value="@inputString" rows="20" cols="50" />
@code {
private string inputString;
private void Test()
{
inputString = inputString;
}
}
Run Code Online (Sandbox Code Playgroud)
我有不断更改变量的代码,但它不会更新文本区域。仅当我单击按钮时文本区域才会更新。我究竟做错了什么?提前致谢!
你需要的是类StateHasChanged()
的方法ComponentBase
。这告诉 Blazor 数据绑定(包括一个方向)需要更新。顺便说一句,为什么要使用textarea
元素的“value”属性?您应该设置其内容。它不是input
。请参阅下面的示例:
@page "/"
<textarea>
@Text
</textarea>
@code {
public string Text { get; set; }
int Counter { get; set; }
protected override void OnInitialized() {
base.OnInitialized();
var timer = new System.Timers.Timer(1000);
timer.Elapsed += (s, e) => {
Counter++;
InvokeAsync(() => {
Text = $"Tick {Counter}";
StateHasChanged();
});
};
timer.Start();
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3702 次 |
最近记录: |