Blazor InputRadioGroup中InputRadio如何设置默认选中?
Blazor InputRadioGroup 设置默认选中的实现方案
常见失效原因
你之前尝试通过给InputRadio添加checked="checked"属性来设置默认选中的写法无法生效,核心问题如下:
- Blazor内置的InputRadio组件没有定义
Checked参数,你手动写的checked="checked"会被作为普通未知HTML特性直接渲染到DOM上,组件的选中判断逻辑根本不会读取这个值 - InputRadio的选中状态完全由父级InputRadioGroup的双向绑定值驱动:只有当单个InputRadio的
Value属性和组绑定的当前值完全相等时,组件才会自动渲染为选中态,不需要任何手动的选中标记。
正确实现步骤
- 定义和InputRadioGroup双向绑定的属性,给这个属性设置初始值,值和你想要默认选中的InputRadio的
Value完全一致即可 - 不需要给任何单个InputRadio添加手动的选中类标记,所有选中逻辑都通过绑定值统一控制
完整可运行的示例代码:
<InputRadioGroup @bind-Value="selectedOption"> <InputRadio class="mr-1" Value="@("General")">通用选项</InputRadio> <InputRadio class="mr-1" Value="@("Personal")">个人选项</InputRadio> <InputRadio class="mr-1" Value="@("Business")">商务选项</InputRadio> </InputRadioGroup> @code { // 属性初始值设为"General",对应Value的单选按钮会在页面加载时自动默认选中 private string selectedOption { get; set; } = "General"; }
场景补充
如果是在EditForm表单场景下使用,只需要在初始化绑定的表单模型时,给对应属性赋好默认值,页面加载时匹配Value的单选按钮就会自动处于选中状态,不需要额外编写选中逻辑。
内容的提问来源于stack exchange,提问作者user3656651
相关产品推荐
相关产品推荐

