Skip to content

Commit 5aafc44

Browse files
authored
feat(BasicLayout): support two-way binding Collapsed (#83)
1 parent dd9cf9b commit 5aafc44

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/layout/example/AntDesign.ProLayout.Wasm/Shared/ProLayout.razor

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
MenuData="MenuData"
66
Theme="MenuTheme.Light"
77
MenuAccordion
8+
@bind-Collapsed="collapsed"
89
>
910
<HeaderContentRender>
1011
<Menu Mode="MenuMode.Horizontal" Theme="MenuTheme.Dark">
@@ -44,6 +45,8 @@
4445
{
4546
private MenuDataItem[] MenuData { get; set; } = {};
4647

48+
private bool collapsed;
49+
4750
protected override async Task OnInitializedAsync()
4851
{
4952
await base.OnInitializedAsync();

src/layout/src/BasicLayout.razor.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,13 @@ public partial class BasicLayout : IBasicLayout
2828
public ClassMapper ContentClassMapper { get; set; } = new ClassMapper();
2929

3030
[Parameter] public bool Collapsed { get; set; }
31+
[Parameter] public EventCallback<bool> CollapsedChanged { get; set; }
3132
[Parameter] public EventCallback<bool> HandleOpenChange { get; set; }
3233
[Parameter] public bool IsMobile { get; set; }
3334
[Parameter] public MenuDataItem[] MenuData { get; set; }
3435
[Parameter] public MenuMode Mode { get; set; }
36+
37+
[Obsolete("use CollapsedChanged or @bind-Collapsed instead.")]
3538
[Parameter] public EventCallback<bool> OnCollapse { get; set; }
3639
[Parameter] public string[] OpenKeys { get; set; } = { };
3740
[Parameter] public MenuTheme Theme { get; set; }
@@ -110,7 +113,15 @@ private async Task HandleCollapse(bool collapsed)
110113
{
111114
Collapsed = collapsed;
112115
SetStyle();
113-
await OnCollapse.InvokeAsync(collapsed);
116+
if (CollapsedChanged.HasDelegate)
117+
{
118+
await CollapsedChanged.InvokeAsync(collapsed);
119+
}
120+
if (OnCollapse.HasDelegate)
121+
{
122+
await OnCollapse.InvokeAsync(collapsed);
123+
}
124+
114125
}
115126
}
116127
}

0 commit comments

Comments
 (0)