Visual Studio MudRadioGroup未切换

cld4siwp  于 2023-11-21  发布在  其他
关注(0)|答案(1)|浏览(112)

我的剃刀页面有radiogroup像

  1. <MudRadioGroup T="string" SelectedOption="@selectedName" SelectedOptionChanged="OnSelectedOptionChanged">
  2. <MudRadio Option="@("Adam")" Color="Color.Primary">Index</MudRadio>
  3. <MudRadio Option="@("Greg")" Color="Color.Primary">Regex</MudRadio>
  4. </MudRadioGroup>
  5. @if (_isOk)
  6. {
  7. <MudTextField Value="@prop1" Label="txt1" />
  8. <MudTextField Value="@prop2" Label="txt2" />
  9. }
  10. else
  11. {
  12. <MudTextField Value="prop3" Label="txt3" />
  13. }

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

  1. private string selectedName = string.Empty;
  2. private bool _isOk;
  3. protected override void OnInitialized()
  4. {
  5. if (string.IsNullOrEmpty(ScanRule.RegexRule))
  6. {
  7. selectedName = "Adam";
  8. _isOk= true;
  9. }
  10. else
  11. {
  12. selectedName = "Greg";
  13. _isOk= false;
  14. }
  15. }
  16. private void OnSelectedOptionChanged(string selectedOption)
  17. {
  18. _isOk= selectedOption == "Adam";
  19. }


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

tjvv9vkg

tjvv9vkg1#

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

  1. private void OnSelectedOptionChanged(string selectedOption)
  2. {
  3. selectedName= selectedOption;
  4. _isOk= selectedName== "Adam";
  5. }

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

相关问题