MudCheckBox点击后清空MudTextField值,如何保留输入值?
解决MudCheckBox点击清空MudTextField值的问题
问题根源
你碰到的情况一般是因为两个组件绑定了同一个数据属性,或是在CheckBox的状态变更逻辑里不小心修改了TextField的绑定值。
修复方案
给组件绑定独立的数据字段
分别为MudTextField和MudCheckBox指定不同的绑定属性,示例代码如下:<EditForm Model="@formModel"> <MudTextField @bind-Value="formModel.InputText" Label="输入内容" /> <MudCheckBox @bind-Checked="formModel.IsOptionChecked" Label="勾选选项" /> </EditForm> @code { private FormModel formModel = new FormModel(); public class FormModel { public string InputText { get; set; } public bool IsOptionChecked { get; set; } } }检查CheckBox的事件逻辑
如果自定义了CheckedChanged事件,确认逻辑里没有误清空TextField的绑定值:// 错误写法:会意外清空文本 <MudCheckBox Checked="@isChecked" CheckedChanged="(val) => { isChecked = val; inputText = string.Empty; }" /> // 正确写法:仅处理自身状态变更 <MudCheckBox Checked="@isChecked" CheckedChanged="(val) => isChecked = val" />保证表单Model的稳定性
不要在CheckBox状态变更时重新初始化表单Model实例,避免触发不必要的表单重置。
内容的提问来源于stack exchange,提问作者sada
相关产品推荐
相关产品推荐

