根据其他属性值向 Blazor 组件添加没有值的属性
Add attribute without value to Blazor component depending on other attribute value
我有这个自定义组件
<label class="btn-svg label-wrapper">
@Title
@if (Multiple)
{
<InputFile OnChange="@InputFileOnChange" class="custom-input-hide" accept="@FileFilter" multiple/>
}
else
{
<InputFile OnChange="@InputFileOnChange" class="custom-input-hide" accept="@FileFilter"/>
}
</label>
@code
{
[Parameter]
public string Title { get; set; }
[Parameter]
public string FileFilter { get; set; }
[Parameter]
public bool Multiple { get; set; }
[Parameter]
public EventCallback<InputFileChangeEventArgs> InputFileOnChange { get; set; }
}
我如何重做 @if (Multiple)
部分并添加类似于 OnChange="@InputFileOnChange"
的 multiple
参数?
我尝试在 InputFile 中添加 @Multiple
字符串参数。
像这样
<InputFile OnChange="@InputFileOnChange" class="custom-input-hide" accept="@FileFilter" @Multiple/>
但是组件没有渲染错误 - Unhandled exception rendering component: Failed to execute 'setAttribute' on 'Element': '@Multiple' is not a valid attribute name.
你可以使用
<InputFile ... multiple="@Multiple" />
当 @Multiple
为 false
时,Blazor 将删除 'multiple' 属性,当它为真时,它只会在 HTML 中生成 multiple
,没有 =
.
对于hidden
、disabled
等
也是一样的
我有这个自定义组件
<label class="btn-svg label-wrapper">
@Title
@if (Multiple)
{
<InputFile OnChange="@InputFileOnChange" class="custom-input-hide" accept="@FileFilter" multiple/>
}
else
{
<InputFile OnChange="@InputFileOnChange" class="custom-input-hide" accept="@FileFilter"/>
}
</label>
@code
{
[Parameter]
public string Title { get; set; }
[Parameter]
public string FileFilter { get; set; }
[Parameter]
public bool Multiple { get; set; }
[Parameter]
public EventCallback<InputFileChangeEventArgs> InputFileOnChange { get; set; }
}
我如何重做 @if (Multiple)
部分并添加类似于 OnChange="@InputFileOnChange"
的 multiple
参数?
我尝试在 InputFile 中添加 @Multiple
字符串参数。
像这样
<InputFile OnChange="@InputFileOnChange" class="custom-input-hide" accept="@FileFilter" @Multiple/>
但是组件没有渲染错误 - Unhandled exception rendering component: Failed to execute 'setAttribute' on 'Element': '@Multiple' is not a valid attribute name.
你可以使用
<InputFile ... multiple="@Multiple" />
当 @Multiple
为 false
时,Blazor 将删除 'multiple' 属性,当它为真时,它只会在 HTML 中生成 multiple
,没有 =
.
对于hidden
、disabled
等