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

如何在MudBlazor中为AdornmentText启用OnClick事件

正确实现MudTextField装饰文本点击切换内容

问题排查

你代码里的问题主要有两点:

  • ReadOnly属性绑定错误:rt.AutoWidth是变量,需要加@符号才能正确绑定布尔值,否则会被当成字符串解析。
  • OnAdornmentClick事件绑定缺少@符号:Blazor中绑定事件回调需要用@前缀关联到代码里的方法。

完整实现代码

<MudTextField 
    AdornmentColor="Color.Primary" 
    AdornmentText="@AText"  
    @OnAdornmentClick="AdornmentChange" 
    Margin="Margin.Dense" 
    Adornment="Adornment.End" 
    ReadOnly="@rt.AutoWidth" 
    @bind-Value="rt.width"  
    Label="Width" 
    Variant="Variant.Outlined" 
/>

@code {
    // 假设rt是你的模型实例,这里示例定义一个简单模型
    private YourModel rt = new YourModel();
    private string AText = "切换"; // 初始装饰文本

    private void AdornmentChange()
    {
        // 切换装饰文本内容
        AText = AText == "切换" ? "已切换" : "切换";
        // 如果需要同步修改只读状态,可在此添加逻辑
        // rt.AutoWidth = !rt.AutoWidth;
    }

    // 示例模型类,根据你的实际业务调整
    public class YourModel
    {
        public bool AutoWidth { get; set; } = false;
        public string width { get; set; } = "";
    }
}

关键说明

  • AText作为组件内可修改的变量,点击事件触发时直接修改值,Blazor会自动更新UI。
  • 如果需要给点击事件传递参数,可使用@OnAdornmentClick="() => AdornmentChange(自定义参数)"的形式。
  • ReadOnly属性必须绑定布尔类型值,若不需要只读功能,可直接设置为ReadOnly="false"。

内容的提问来源于stack exchange,提问作者Mahar Faiq lak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 09:11:04