根据其他属性值将不带值的属性添加到Blazor组件



我有这个自定义组件

<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" />

@Multiplefalse时,Blazor将删除"multiple"属性,当为true时,它将导致HTML中只有multiple,而没有=

它对hiddendisabled等的工作原理相同

相关内容

  • 没有找到相关文章

最新更新