You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MudCheckBox点击后清空MudTextField值,如何保留输入值?

解决MudCheckBox点击清空MudTextField值的问题

问题根源

你碰到的情况一般是因为两个组件绑定了同一个数据属性,或是在CheckBox的状态变更逻辑里不小心修改了TextField的绑定值。

修复方案

  1. 给组件绑定独立的数据字段
    分别为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; }
        }
    }
    
  2. 检查CheckBox的事件逻辑
    如果自定义了CheckedChanged事件,确认逻辑里没有误清空TextField的绑定值:

    // 错误写法:会意外清空文本
    <MudCheckBox Checked="@isChecked" CheckedChanged="(val) => { isChecked = val; inputText = string.Empty; }" />
    
    // 正确写法:仅处理自身状态变更
    <MudCheckBox Checked="@isChecked" CheckedChanged="(val) => isChecked = val" />
    
  3. 保证表单Model的稳定性
    不要在CheckBox状态变更时重新初始化表单Model实例,避免触发不必要的表单重置。

内容的提问来源于stack exchange,提问作者sada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 06:03:12