gpt4 book ai didi

blazor - 使用 Blazor 单击提交后清除 InputFields

转载 作者:行者123 更新时间:2023-12-05 02:50:49 25 4
gpt4 key购买 nike

我想知道是否有人知道如何在按下保存按钮“提交”后清除所有输入字段?当我返回页面时,我的值(value)观仍然存在。

这是我正在使用的代码。

@page "/testform"
@inject BlazorApp6.Data.Person person
@inject BlazorApp6.DBContext.ValidationTestContext Context
@inject BlazorApp6.Interface.INterface Manager

<EditForm Model="@person" OnValidSubmit="@CreatePerson">
<DataAnnotationsValidator />
<ValidationSummary />
<div class="form-group">
<label for="Name">Name</label>
<InputText @bind-Value=Person.Name class="form-control" id="Name" />
<ValidationMessage For=@(() => Person.Name) />
</div>
<div class="form-group">
<label for="Age">Age</label>
<InputNumber @bind-Value=Person.Age class="form-control" id="Age" />
<ValidationMessage For=@(() => Person.Age) />
</div>
<input type="submit" class="btn btn-primary" value="Save" />
</EditForm>

@code {



protected override async Task OnInitializedAsync()
{
person.OnChange += StateHasChanged;
}

private void CreatePerson()
{

Manager.Create(person);


}

}

最佳答案

重置所有值。最简单的方法:

private void CreatePerson()
{
Manager.Create(person);
person = new Person();
}

你不应该需要 StateHasChanged:

protected override async Task OnInitializedAsync()
{
// person.OnChange += StateHasChanged;
}

否则你必须 -=+= 围绕 new Person() 的事件

关于blazor - 使用 Blazor 单击提交后清除 InputFields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63459033/

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