Skip to content

Commit 563ac2f

Browse files
committed
refactor: 使用 div 元素渲染按钮
1 parent d5f3b8c commit 563ac2f

File tree

3 files changed

+12
-9
lines changed

3 files changed

+12
-9
lines changed

src/BootstrapBlazor/Components/Layout/Layout.razor

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,9 @@
8888
{
8989
@if (CollapseBarTemplate == null)
9090
{
91-
<a data-bs-toggle="tooltip" data-bs-placement="right" data-bs-original-title="@TooltipText" class="layout-header-bar">
91+
<div data-bs-toggle="tooltip" data-bs-placement="right" data-bs-original-title="@TooltipText" class="layout-header-bar" @onclick="ToggleSidebar">
9292
<i class="@MenuBarIcon"></i>
93-
</a>
93+
</div>
9494
}
9595
else
9696
{

src/BootstrapBlazor/Components/Layout/Layout.razor.cs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,7 @@ public partial class Layout : IHandlerException
235235
private string? ClassString => CssBuilder.Default("layout")
236236
.AddClass("has-sidebar", Side != null && IsFullSide)
237237
.AddClass("has-footer", ShowFooter && Footer != null)
238+
.AddClass("is-collapsed", IsCollapsed)
238239
.AddClassFromAttributes(AdditionalAttributes)
239240
.Build();
240241

@@ -442,13 +443,8 @@ private void Navigation_LocationChanged(object? sender, LocationChangedEventArgs
442443
}
443444
}
444445

445-
/// <summary>
446-
/// 点击 收缩展开按钮时回调此方法
447-
/// </summary>
448-
/// <returns></returns>
449-
private async Task CollapseMenu()
446+
private async Task TriggerCollapseChanged()
450447
{
451-
IsCollapsed = !IsCollapsed;
452448
if (IsCollapsedChanged.HasDelegate)
453449
{
454450
await IsCollapsedChanged.InvokeAsync(IsCollapsed);
@@ -469,7 +465,8 @@ private Func<MenuItem, Task> ClickMenu() => async item =>
469465
// 小屏幕时生效
470466
if (IsSmallScreen && !item.Items.Any())
471467
{
472-
await CollapseMenu();
468+
IsCollapsed = false;
469+
await TriggerCollapseChanged();
473470
}
474471

475472
if (OnClickMenu != null)
@@ -478,6 +475,11 @@ private Func<MenuItem, Task> ClickMenu() => async item =>
478475
}
479476
};
480477

478+
private void ToggleSidebar()
479+
{
480+
IsCollapsed = !IsCollapsed;
481+
}
482+
481483
/// <summary>
482484
/// 上次渲染错误内容
483485
/// </summary>

src/BootstrapBlazor/Components/Layout/Layout.razor.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@
171171
background-color: var(--bb-layout-headerbar-background);
172172
border: var(--bs-border-width) solid var(--bb-layout-headerbar-border-color);
173173
border-radius: var(--bs-border-radius);
174+
cursor: pointer;
174175

175176
.fa-bars {
176177
transition: transform .3s linear;

0 commit comments

Comments
 (0)