警告“@(!isEditing || ...)”不是属性 'disabled' 的有效值?
Warning '@(!isEditing || ...)' is not a valid value of attribute 'disabled'?
(在 Visaul Studio 2019 V16.4.0 或 V16.4.1 中都尝试过。Microsoft.CodeAnalysis.FxCopAnalyzers 添加)
我在 Blazor 中使用以下代码来禁用输入。
<input type="checkbox" @bind="@v" disabled="@(!isEditing || ...expression omitted...)" />
但是,Visual Studio 警告说
Warning '@(!isEditing || ...)' is not a valid value of attribute 'disabled'
通过自定义逻辑禁用输入的正确方法是什么?
html disabled
属性可接受的值为 已禁用 或无值。
最简单的方法是使用 @if 语句:
@if(!isEditing || ...omitted...)
{
<input type="checkbox" @bind="@v" disabled />
}
else
{
<input type="checkbox" @bind="@v" />
}
使用三元表达式:
<input type="checkbox" @bind="@v" @((!isEditing || ...expression omitted...) ? "disabled" : "") />
这是一个错误。
HTML 使用 Razor 语法设置禁用属性时发出警告 #16833
https://github.com/aspnet/AspNetCore/issues/16833
更新:
我的Visual Studio升级到V16.4.2后,所有警告都消失了。
(在 Visaul Studio 2019 V16.4.0 或 V16.4.1 中都尝试过。Microsoft.CodeAnalysis.FxCopAnalyzers 添加)
我在 Blazor 中使用以下代码来禁用输入。
<input type="checkbox" @bind="@v" disabled="@(!isEditing || ...expression omitted...)" />
但是,Visual Studio 警告说
Warning '@(!isEditing || ...)' is not a valid value of attribute 'disabled'
通过自定义逻辑禁用输入的正确方法是什么?
html disabled
属性可接受的值为 已禁用 或无值。
最简单的方法是使用 @if 语句:
@if(!isEditing || ...omitted...)
{
<input type="checkbox" @bind="@v" disabled />
}
else
{
<input type="checkbox" @bind="@v" />
}
使用三元表达式:
<input type="checkbox" @bind="@v" @((!isEditing || ...expression omitted...) ? "disabled" : "") />
这是一个错误。
HTML 使用 Razor 语法设置禁用属性时发出警告 #16833 https://github.com/aspnet/AspNetCore/issues/16833
更新:
我的Visual Studio升级到V16.4.2后,所有警告都消失了。