gpt4 book ai didi

c# - Blazor Textarea 更新变量更改

转载 作者:行者123 更新时间:2023-12-03 08:31:28 25 4
gpt4 key购买 nike

我希望文本区域始终显示变量的值。但只有当我单击按钮时它才会更新。每次变量更改时如何更新文本区域?

<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;
}
}

我有不断更改变量的代码,但它不会更新文本区域。仅当我单击按钮时文本区域才会更新。我究竟做错了什么?提前致谢!

最佳答案

您需要的是 ComponentBase 类的 StateHasChanged() 方法。这告诉 Blazor 数据绑定(bind)(包括一个方向)需要更新。顺便说一句,为什么要使用 textarea 元素的“value”属性?您应该设置其内容。它不是输入。请参阅下面的示例:

@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();
}

}

关于c# - Blazor Textarea 更新变量更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64963777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com