整个页面的 OnChange:Blazor
OnChange for whole page: Blazor
如果用户想要离开页面并且不保存 blazor 中的更改,我想要一个提醒。
如何以高性能检测变化(不想检查数据库)?
在 blazor 中,@bind 值自动更新。我想有一项服务已经检查了一些变化。
我怎样才能得到这些信息?
您可以使用 EditContext
中的 IsModified()
:
@if (_editContext.IsModified())
{
<p>You have made changes. Any unsaved changes will be lost!</p>
}
<EditForm EditContext="_editContext" OnValidSubmit="OnValidSumit">
<DataAnnotationsValidator />
<ValidationSummary />
<InputText @bind-Value="Model.Something" />
<button type="submit">Add</button>
</EditForm>
@code {
public Model Model { get; set; } = new Model();
private EditContext _editContext;
protected override void OnInitialized()
{
_editContext = new EditContext(Model);
}
}
为了检查用户是否想导航到另一个页面,这里有一篇很棒的文章:https://chrissainty.com/an-in-depth-look-at-routing-in-blazor/
和:https://blazor-university.com/routing/detecting-navigation-events/
如果用户想要离开页面并且不保存 blazor 中的更改,我想要一个提醒。
如何以高性能检测变化(不想检查数据库)?
在 blazor 中,@bind 值自动更新。我想有一项服务已经检查了一些变化。
我怎样才能得到这些信息?
您可以使用 EditContext
中的 IsModified()
:
@if (_editContext.IsModified())
{
<p>You have made changes. Any unsaved changes will be lost!</p>
}
<EditForm EditContext="_editContext" OnValidSubmit="OnValidSumit">
<DataAnnotationsValidator />
<ValidationSummary />
<InputText @bind-Value="Model.Something" />
<button type="submit">Add</button>
</EditForm>
@code {
public Model Model { get; set; } = new Model();
private EditContext _editContext;
protected override void OnInitialized()
{
_editContext = new EditContext(Model);
}
}
为了检查用户是否想导航到另一个页面,这里有一篇很棒的文章:https://chrissainty.com/an-in-depth-look-at-routing-in-blazor/ 和:https://blazor-university.com/routing/detecting-navigation-events/