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

Blazorise Check组件点击无法勾选、disabled属性失效问题求助

问题原因

  • 点击无法正常勾选的原因有两个:
    1. 代码中为Check组件赋值的id="@Checkbox1"格式,若未在代码块中提前声明Checkbox1/2/3对应的字符串变量,会导致渲染后label的for属性与input的id不匹配,点击label文本时无法触发对应input的勾选动作。
    2. 同时使用外层InlineField行内容器和每个Check组件的Inline="true"属性,会造成行内样式与交互逻辑冲突,影响点击事件的正常触发。
  • disabled属性不生效的原因:Blazorise封装的组件参数遵循PascalCase命名规范,你使用的小写disabled属于未被组件识别的原生自定义属性,组件内部不会将其关联到禁用逻辑,因此不生效。

解决办法

  1. 调整禁用参数命名:将所有Check组件的小写disabled替换为Blazorise官方定义的Disabled参数。
  2. 移除重复行内配置:二选一保留一种行内布局配置即可,要么保留外层InlineField容器,删除每个Check组件的Inline="true"属性;要么删除外层InlineField容器,保留每个Check的Inline="true"属性。
  3. 修正id赋值逻辑:要么直接给id设置固定字符串(如id="checkbox1"),要么在@code代码块中提前声明对应id变量:
@code {
    private string Checkbox1 = "checkbox1";
    private string Checkbox2 = "checkbox2";
    private string Checkbox3 = "checkbox3";
    // 保留你原有Person、Action、ActionType等相关定义
}

调整后的可用示例代码如下:

<Form @onsubmit="HandleSubmit">
    <InlineField>
        <Check TValue="bool" id="checkbox1" @bind-Checked="Person.Check1" Disabled="@(Action == ActionType.View)">Check 1</Check>
        <Check TValue="bool" id="checkbox2" @bind-Checked="Person.Check2" Disabled="@(Action == ActionType.View)">Check 2</Check>
        <Check TValue="bool" id="checkbox3" @bind-Checked="Person.Check3" Disabled="@(Action == ActionType.View)">Check 3</Check>
    </InlineField>
</Form>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 11:06:03