为什么我的 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 表单。我有两个问题:
- 我必须点击两次单选按钮才能选中它。
- 选中后,如果我单击复选框,收音机将取消选中。
我在使用 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; }
}
}
我有一个带有一些单选按钮(在 InputRadioGroup 内)和一些复选框的 Blazor 表单。我有两个问题:
- 我必须点击两次单选按钮才能选中它。
- 选中后,如果我单击复选框,收音机将取消选中。
我在使用 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; }
}
}