mirror of
https://gitee.com/LongbowEnterprise/BootstrapBlazor.git
synced 2024-12-04 21:20:16 +08:00
!3747 fix(#I69VFA): update RibbonTab make sure have IsActive item
* chore: bump version 7.2.3-beta02 * fix: 修复 RibbonTab 可能导致二级菜单不显示问题
This commit is contained in:
parent
18c42bd5f4
commit
a85f81edf2
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Version>7.2.3-beta01</Version>
|
<Version>7.2.3-beta02</Version>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup Condition="'$(TargetFramework)' == 'net5.0'">
|
<ItemGroup Condition="'$(TargetFramework)' == 'net5.0'">
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<div @attributes="@AdditionalAttributes" id="@Id" class="@HeaderClassString">
|
<div @attributes="@AdditionalAttributes" id="@Id" class="@HeaderClassString">
|
||||||
<div class="ribbon-header">
|
<div class="ribbon-header">
|
||||||
<Tab IsBorderCard="true" OnClickTab="OnClickTab">
|
<Tab IsBorderCard="true" OnClickTab="OnClickTab">
|
||||||
@foreach (var item in GetItems())
|
@foreach (var item in Items)
|
||||||
{
|
{
|
||||||
<TabItem @key="item" Text="@item.Text" IsActive="item.IsActive">
|
<TabItem @key="item" Text="@item.Text" IsActive="item.IsActive">
|
||||||
<div class="tab-commands">
|
<div class="tab-commands">
|
||||||
|
@ -52,6 +52,7 @@ public partial class RibbonTab
|
|||||||
/// 获得/设置 数据源
|
/// 获得/设置 数据源
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Parameter]
|
[Parameter]
|
||||||
|
[NotNull]
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
[EditorRequired]
|
[EditorRequired]
|
||||||
#endif
|
#endif
|
||||||
@ -106,6 +107,24 @@ public partial class RibbonTab
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
protected override Task ModuleInitAsync() => InvokeInitAsync(Id, nameof(SetExpand));
|
protected override Task ModuleInitAsync() => InvokeInitAsync(Id, nameof(SetExpand));
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// <inheritdoc/>
|
||||||
|
/// </summary>
|
||||||
|
protected override void OnParametersSet()
|
||||||
|
{
|
||||||
|
base.OnParametersSet();
|
||||||
|
|
||||||
|
Items ??= Enumerable.Empty<RibbonTabItem>();
|
||||||
|
if (!Items.Any(i => i.IsActive))
|
||||||
|
{
|
||||||
|
var item = Items.FirstOrDefault();
|
||||||
|
if (item != null)
|
||||||
|
{
|
||||||
|
item.IsActive = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// SetExpand 方法
|
/// SetExpand 方法
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -126,12 +145,12 @@ public partial class RibbonTab
|
|||||||
|
|
||||||
private async Task OnClickTab(TabItem item)
|
private async Task OnClickTab(TabItem item)
|
||||||
{
|
{
|
||||||
var tab = GetItems().FirstOrDefault(i => i.IsActive);
|
var tab = Items.FirstOrDefault(i => i.IsActive);
|
||||||
if (tab != null)
|
if (tab != null)
|
||||||
{
|
{
|
||||||
tab.IsActive = false;
|
tab.IsActive = false;
|
||||||
}
|
}
|
||||||
tab = GetItems().First(i => i.Text == item.Text);
|
tab = Items.First(i => i.Text == item.Text);
|
||||||
tab.IsActive = true;
|
tab.IsActive = true;
|
||||||
if (OnMenuClickAsync != null)
|
if (OnMenuClickAsync != null)
|
||||||
{
|
{
|
||||||
@ -144,8 +163,6 @@ public partial class RibbonTab
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private IEnumerable<RibbonTabItem> GetItems() => Items ?? Enumerable.Empty<RibbonTabItem>();
|
|
||||||
|
|
||||||
private async Task OnToggleFloat()
|
private async Task OnToggleFloat()
|
||||||
{
|
{
|
||||||
IsFloat = !IsFloat;
|
IsFloat = !IsFloat;
|
||||||
|
Loading…
Reference in New Issue
Block a user