gpt4 book ai didi

Blazor EditForm 开始时禁用“提交”按钮

转载 作者:行者123 更新时间:2023-12-03 08:26:49 24 4
gpt4 key购买 nike

我在 Blazor 应用程序中使用 EditForm 从空白表单以及已使用从数据库获取的数据进行初始化的表单提交信息。当我使用数据库中的数据初始化表单时,我想保持“提交”按钮处于禁用状态,直到发生某些输入为止。如果没有进行任何输入,该按钮应保持禁用状态,因为没有要保存的新信息。

因此,我需要某种输入检测器,可以在其上触发“提交”按钮禁用标志。实现这一目标的正确方法是什么?所以我需要这样的东西:

<EditForm Model="MyModel">
<InputText type="text" @bind-value="x" @oninput="OnInput"/>
</EditForm>

private void Oninput(){
IsDisabled = false;
}

实现这一目标的正确方法是什么,适用于各种输入(文本输入、单选、复选框等)

最佳答案

经过各种选择后,解决方案似乎如下。我想从禁用提交/保存按钮开始,并仅在有输入时才打开它。实现此目的的一种方法是使用 EditContext OnFieldChanged 事件。像这样:

protected async override Task OnInitializedAsync()
{
editContext = new EditContext(allRisksItem);
editContext.OnFieldChanged += EditContext_OnFieldChanged;
....
}

private void EditContext_OnFieldChanged(object sender, FieldChangedEventArgs e)
{
disable_button = false;

}

当 EditCotext 检测到表单中的字段更改时,会触发 OnFieldChanged 事件。我想我也遇到过输入时触发事件的情况,但尚未尝试过。因此,使用此解决方案,无需在每个字段中都有 @oninput 来检测输入等。

希望这对正在寻找此问题解决方案的人们有所帮助。也感谢那些提出其他建议的人。

关于Blazor EditForm 开始时禁用“提交”按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66416441/

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