【问题标题】:How can I enable button only when user clicks check box in Blazor如何仅在用户单击 Blazor 中的复选框时启用按钮
【发布时间】:2021-10-30 06:00:13
【问题描述】:
<button id="btn1" type="submit" disabled="@true">Submit</button>
<input type="checkbox" @onclick="@btn1"=disabled="@false"/>
<button disabled="@isDisable">button</button>
我正在尝试禁用我的提交按钮,只有当用户单击复选框时才应该启用它(隐私政策);如何使用 Blazor 做到这一点?
【问题讨论】:
标签:
c#
blazor-webassembly
【解决方案1】:
最直接的方法是将布尔属性绑定到复选框输入,如下所示:
<input type="checkbox" @bind="HasChecked" />
<button type="submit" disabled="@(!HasChecked)">Submit</button>
@code {
private bool HasChecked { get; set; }
}
@binding 到带有布尔值的复选框使用元素的checked 状态来确定绑定的属性值。
或者,如果您需要更多控制,可以绑定@onchange 处理程序:
<input type="checkbox" @onchange="HandleCheckboxChange" />
<button type="submit" disabled="@IsDisabled">Submit</button>
@code {
private bool IsDisabled { get; set; }
private void HandleCheckboxChange(ChangeEventArgs args)
{
IsDisabled = !(args.Value is true);
}
}