Visual Studio MudRadioGroup未切换

cld4siwp  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(85)

我的剃刀页面有radiogroup像

<MudRadioGroup T="string" SelectedOption="@selectedName" SelectedOptionChanged="OnSelectedOptionChanged">
                <MudRadio Option="@("Adam")" Color="Color.Primary">Index</MudRadio>
                <MudRadio Option="@("Greg")" Color="Color.Primary">Regex</MudRadio>
 </MudRadioGroup>
 @if (_isOk)
 {
      <MudTextField Value="@prop1" Label="txt1" />
      <MudTextField Value="@prop2" Label="txt2" />
  }
  else
  {
      <MudTextField Value="prop3" Label="txt3" />
  }

字符串
在后面的代码中,我像下面这样绑定无线电组

private string selectedName = string.Empty;
 private bool _isOk;
 protected override void OnInitialized()
 {
    if (string.IsNullOrEmpty(ScanRule.RegexRule))
    {
        selectedName = "Adam";
        _isOk= true;
    }
    else
    {
        selectedName = "Greg";
        _isOk= false;
    }
  }

 private void OnSelectedOptionChanged(string selectedOption)
 {
    _isOk= selectedOption == "Adam";
 }


如果我试图改变选项按钮,然后什么也没有发生。当我设置调试点内OnselectedOptionChanged方法,并试图改变选项按钮,然后它进来它两次,这是错误的,我认为以及。

tjvv9vkg

tjvv9vkg1#

如果使用SelectedOptionSelectedOptionChanged
然后,您分配给SelectedOptionChanged的处理程序方法(即 OnSelectedOptionChanged)还需要处理您在SelectedOption上声明的变量(即 selectedName)的值更改

private void OnSelectedOptionChanged(string selectedOption)
 {
    selectedName= selectedOption;
    _isOk= selectedName== "Adam";
 }

字符串
如果你使用@bind指令@bind-SelectedOption="selectedName",这会自动完成。
MudBlazor Snippet

相关问题