【问题标题】:TextArea does not react to change after manual editing手动编辑后 TextArea 对更改没有反应
【发布时间】:2021-01-15 00:50:38
【问题描述】:

这个小例子说明了这一点。您单击按钮,页面会同时更改 textarea 和输入,但如果您手动更改 textarea 中的某些内容,当您再次单击时,它将停止更新其内容。你如何解决它,让它总是从代码中改变?

@page "/TextAreaTest"
<h3>TextArea Test</h3>
<textarea>@textContent</textarea>
<br />
<input type="text" value="@textContent" />
<br /><br />
<input type="button" value="Change It" @onclick="ChangeIt" />

@code {
    string textContent = "now...";

    void ChangeIt() =>
        textContent = $"{DateTime.Now:HH:mm:ss.fff}";
}

【问题讨论】:

  • 我无法重现该错误。您的示例运行良好。您能否尝试将await InvokeAsync(StateHasChanged); 附加到您的方法并测试它是否有效?所以,该方法看起来像async Task ChangeIt() { textContent = $"{DateTime.Now:HH:mm:ss.fff}"; await InvokeAsync(StateHasChanged); }

标签: c# blazor blazor-client-side


【解决方案1】:

使用值或@bind

<textarea value="@textContent"></textarea>
// or
<textarea @bind="textContent"></textarea>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 2020-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多