在Blazor中,当试图通过在EditForm控件中包装模型属性来绑定表达式时,发现编辑表单的值不会更新模型属性。这是因为默认情况下,Blazor会在第一次渲染时检查模型的初始值,并使用它来填充表单,但之后不会再更新其值。为了解决这个问题,需要在EditForm中添加一个onsubmit事件处理程序,以便当表单提交时更新模型的值。
下面是一个示例:
@code {
private MyModel myModel = new MyModel();
private void HandleSubmit()
{
//update the model value here
}
private class MyModel
{
public string MyProperty { get; set; }
}
}
在这个示例中,我们添加了一个onsubmit事件处理程序,并将模型绑定到EditForm的Model属性。同时,我们将表单元素的值绑定到模型属性,以便在更新表单时同时更新模型。在onsubmit的处理程序中,我们可以访问模型,并在需要时更新其值。这样,我们就可以确保EditForm正确地更新模型属性,而不是仅在初始渲染时填充其值。