自定义 Blazor Select 选项 - 不从绑定值中选择初始项
Custom Blazor Select Option - not selecting initial item from bound value
在创建自定义组件时,我想使用自定义选项组件扩展 Select,以便我可以添加额外的参数等。
这个的简化版本:
<option value="@value">@ChildContent</option>
@code {
[Parameter] public RenderFragment ChildContent { get; set; }
[Parameter] public string value { get; set; }
}
我以与选项标签完全相同的方式使用该组件,并且 html-wise,代码呈现完全相同。
这一切似乎工作正常,但没有进行初始绑定,例如。顶部选项始终处于选中状态,但仅可见 - 值为空字符串。
您只需要创建自定义剃须刀组件 -> 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>
经过进一步调查,这已被确定为一个错误。
GitHub dotnet/aspnetcore 上两个问题的链接:
elements inserted dynamically during same diff as don't get auto-selected #21453
在创建自定义组件时,我想使用自定义选项组件扩展 Select,以便我可以添加额外的参数等。
这个的简化版本:
<option value="@value">@ChildContent</option>
@code {
[Parameter] public RenderFragment ChildContent { get; set; }
[Parameter] public string value { get; set; }
}
我以与选项标签完全相同的方式使用该组件,并且 html-wise,代码呈现完全相同。
这一切似乎工作正常,但没有进行初始绑定,例如。顶部选项始终处于选中状态,但仅可见 - 值为空字符串。
您只需要创建自定义剃须刀组件 -> 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>
经过进一步调查,这已被确定为一个错误。
GitHub dotnet/aspnetcore 上两个问题的链接:
elements inserted dynamically during same diff as don't get auto-selected #21453