masastack / MASA.Blazor

Blazor UI component library based on Material Design. Support Blazor Server, Blazor WebAssembly and MAUI Blazor.
https://docs.masastack.com/blazor/getting-started/installation
MIT License
1.12k stars 151 forks source link

[Bug Report]: MNavigationDrawer切换的Permanent时候 MApp宽度不会重置 #1896

Closed Lee-Lily-Lea closed 3 weeks ago

Lee-Lily-Lea commented 3 weeks ago

Masa.Blazor version

1.4.2

Describe the bug

MNavigationDrawer的Temporary和Permanent切换的时候 Mapp不会重新计算宽度 切换页面也无效 需要F5之类的才行

具体看复现代码

用的wpfblazor 但是web的也是一样的结果

Expected Behavior

No response

Steps To Reproduce

No response

Reproduction code

<MSheet Height="400" Class="overflow-hidden" Style="position: relative;">
    <MContainer Class="fill-height">
        <MRow Align="AlignTypes.Center" Justify="JustifyTypes.Center">
            <MButton Color="pink" Dark OnClick="() => _drawer = !_drawer">
                Toggle
            </MButton>
        </MRow>
    </MContainer>

    <MNavigationDrawer @bind-Value="_drawer" Absolute Temporary=Temp Permanent=Per>
        <MListItem>
            <MListItemAvatar>
                <MImage Src="https://randomuser.me/api/portraits/men/78.jpg"></MImage>
            </MListItemAvatar>

            <MListItemContent>
                <MListItemTitle>MASA</MListItemTitle>
            </MListItemContent>
        </MListItem>

        <MDivider></MDivider>

        <MList Dense>
            @foreach (var item in _items)
            {
                <MListItem Link OnClick=TTT>
                    <MListItemIcon>
                        <MIcon>@item.Icon</MIcon>
                    </MListItemIcon>

                    <MListItemContent>
                        <MListItemTitle>@item.Title</MListItemTitle>
                    </MListItemContent>
                </MListItem>
            }
        </MList>
    </MNavigationDrawer>
</MSheet>

@code{

    bool Temp=true;
    bool Per=false;
    void TTT()
    {
        Temp = !Temp;
        Per=!Per;
    }

    private bool? _drawer;
    private class ItemDemo
    {
        public string Title { get; set; }
        public string Icon { get; set; }
    }
    private List<ItemDemo> _items = new()
    {
        new ItemDemo { Title = "Home", Icon = "mdi-view-dashboard" },
        new ItemDemo { Title = "About", Icon = "mdi-forum" }
    };
}

.NET version

net 8.0

What browsers are you seeing the problem on?

Microsoft Edge

Additional context

No response