Skip to content

Commit a85f81e

Browse files
committed
!3747 fix(#I69VFA): update RibbonTab make sure have IsActive item
* chore: bump version 7.2.3-beta02 * fix: 修复 RibbonTab 可能导致二级菜单不显示问题
1 parent 18c42bd commit a85f81e

3 files changed

Lines changed: 23 additions & 6 deletions

File tree

src/BootstrapBlazor/BootstrapBlazor.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk.Razor">
22

33
<PropertyGroup>
4-
<Version>7.2.3-beta01</Version>
4+
<Version>7.2.3-beta02</Version>
55
</PropertyGroup>
66

77
<ItemGroup Condition="'$(TargetFramework)' == 'net5.0'">

src/BootstrapBlazor/Components/RibbonTab/RibbonTab.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<div @attributes="@AdditionalAttributes" id="@Id" class="@HeaderClassString">
55
<div class="ribbon-header">
66
<Tab IsBorderCard="true" OnClickTab="OnClickTab">
7-
@foreach (var item in GetItems())
7+
@foreach (var item in Items)
88
{
99
<TabItem @key="item" Text="@item.Text" IsActive="item.IsActive">
1010
<div class="tab-commands">

src/BootstrapBlazor/Components/RibbonTab/RibbonTab.razor.cs

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public partial class RibbonTab
5252
/// 获得/设置 数据源
5353
/// </summary>
5454
[Parameter]
55+
[NotNull]
5556
#if NET6_0_OR_GREATER
5657
[EditorRequired]
5758
#endif
@@ -106,6 +107,24 @@ public partial class RibbonTab
106107
/// <returns></returns>
107108
protected override Task ModuleInitAsync() => InvokeInitAsync(Id, nameof(SetExpand));
108109

110+
/// <summary>
111+
/// <inheritdoc/>
112+
/// </summary>
113+
protected override void OnParametersSet()
114+
{
115+
base.OnParametersSet();
116+
117+
Items ??= Enumerable.Empty<RibbonTabItem>();
118+
if (!Items.Any(i => i.IsActive))
119+
{
120+
var item = Items.FirstOrDefault();
121+
if (item != null)
122+
{
123+
item.IsActive = true;
124+
}
125+
}
126+
}
127+
109128
/// <summary>
110129
/// SetExpand 方法
111130
/// </summary>
@@ -126,12 +145,12 @@ private async Task OnClick(RibbonTabItem item)
126145

127146
private async Task OnClickTab(TabItem item)
128147
{
129-
var tab = GetItems().FirstOrDefault(i => i.IsActive);
148+
var tab = Items.FirstOrDefault(i => i.IsActive);
130149
if (tab != null)
131150
{
132151
tab.IsActive = false;
133152
}
134-
tab = GetItems().First(i => i.Text == item.Text);
153+
tab = Items.First(i => i.Text == item.Text);
135154
tab.IsActive = true;
136155
if (OnMenuClickAsync != null)
137156
{
@@ -144,8 +163,6 @@ private async Task OnClickTab(TabItem item)
144163
}
145164
}
146165

147-
private IEnumerable<RibbonTabItem> GetItems() => Items ?? Enumerable.Empty<RibbonTabItem>();
148-
149166
private async Task OnToggleFloat()
150167
{
151168
IsFloat = !IsFloat;

0 commit comments

Comments
 (0)