为什么我的 Blazor 单选按钮必须单击两次才能 select 并在单击复选框时取消 select?

Why do my Blazor radio buttons have to be clicked twice to select and get unselected when a checkbox is clicked?

我有一个带有一些单选按钮(在 InputRadioGroup 内)和一些复选框的 Blazor 表单。我有两个问题:

  1. 我必须点击两次单选按钮才能选中它。
  2. 选中后,如果我单击复选框,收音机将取消选中。

我在使用 Blazer Server .net 6.0 模板的新项目中通过添加此 razor 组件重现了该问题:

<EditForm Model="FormModel">
    <InputRadioGroup @bind-Value="FormModel.SelectedRadio">
        <InputRadio Value="1" /> 1
        <InputRadio Value="2" /> 2
    </InputRadioGroup>
    <InputCheckbox @bind-Value="FormModel.Checkbox"/>
</EditForm>

@code {
    private FormData FormModel { get; set; } = new FormData();

    public class FormData
    {
        public string SelectedRadio { get; set; }
        public bool Checkbox { get; set; }
    }
}

查看您的代码的修改版本。我已将 FormModel.SelectedRadio 更改为 int。 Inputxxxx 是输入控件,而不是 html 基本控件使用的标准文本。

@page "/"
<EditForm Model="FormModel">
    <InputRadioGroup @bind-Value="FormModel.SelectedRadio">
        <InputRadio Value=1 /> 1
        <InputRadio Value=2 /> 2
    </InputRadioGroup>
    <InputCheckbox @bind-Value="FormModel.Checkbox"/>
</EditForm>

Selected: @FormModel.SelectedRadio
@code {
    private FormData FormModel { get; set; } = new FormData();

    public class FormData
    {
        public int SelectedRadio { get; set; }
        public bool Checkbox { get; set; }
    }
}