自定义布雷泽选择选项--不从约束值中选择初始项目。

问题描述 投票:0回答:1

在创建自定义组件时,我想用一个自定义选项组件来扩展Select,这样我就可以添加额外的参数等。

这是一个简化的版本。

<option value="@value">@ChildContent</option>   

@code {
    [Parameter] public RenderFragment ChildContent { get; set; }
    [Parameter] public string value { get; set; }
 }

我使用组件的方式和选项标签完全一样,html方面,代码也完全一样。

这一切看起来都很好,但没有进行初始绑定,例如,顶部的选项总是被选中,但只是可见的--Value是空字符串。

html-select blazor custom-component
1个回答
1
投票

你只需要创建自定义的剃刀组件-> CustomOption.razor,并包含以下内容

    <option value="@value" class="@specAttribute">@ChildContent</option>

@code {
    [Parameter] public RenderFragment ChildContent { get; set; }
    [Parameter] public string value { get; set; }
    [Parameter] public string specAttribute { get; set; }
}

然后使用它。

<InputSelect  @bind-Value="@language">
    <CustomOption value="English" specAttribute="list-item">English</CustomOption>
    <CustomOption value="Spanish" specAttribute="list-item">Spanish</CustomOption>
</InputSelect>

0
投票

经过进一步的调查,这已经被确认为一个bug。

链接到GitHub上的两个问题dotnetaspnetcore。

在同一差异中动态插入的元素不会被自动选择 #21453

Blazor: 动态不设置选定值#21432

© www.soinside.com 2019 - 2024. All rights reserved.