1

关于这个问题,请参考以下https://github.com/CD1010/BlazorWizard.git。该示例位于StepActivations 分支中

我有一个名为 DemoWizard 的页面,其中包含一个 3 步向导。当我单击“切换启用”按钮时,第二步和第三步链接应该进入启用或禁用状态。然而,似乎第一次需要点击 2 次才能关闭标题,并且状态总是落后。
因此,StateHasChanged() 似乎没有正确刷新子状态。
请注意,refresh() 方法试图至少让 step2 正确刷新,但无济于事。

知道为什么吗?切换的点击处理程序如下。

void OnClick()
{
    step2Enabled = !step2Enabled;
    step3Enabled = !step3Enabled;



    StateHasChanged();
    Step2.Refresh();
}
4

1 回答 1

0

您的代码没有像宣传的那样完全显示,但我认为您需要做的是向 Blazorize CheckEdit 组件添加一个事件回调:

<Blazorize.CheckEdit @bind-Checked="@Parent.IsValid" CheckedChanged="@VerifyEnabledTabs">Check Me</Blazorise.CheckEdit>

whereVerifyEnabledTabs是一种顶层方法Wizard,可以评估您的位置以及完成/填充/检查/任何内容,以允许某些链接处于活动状态。

于 2020-04-20T18:56:49.993 回答