基于参数的条件布局

问题描述 投票:0回答:1

我希望我的 .razor 页面具有默认布局(MainLayout),除非 LayoutType 参数是 ==“Tab” 我总是得到 TabLayout。 默认布局是 MainLayout。

@page "/WasteNum/{LayoutType}"

@if (LayoutType == "Tab")
{
    @layout TabLayout 
}

@code {
    [Parameter]
    public string LayoutType { get; set; } = "Main";
}
blazor
1个回答
0
投票

要基于

LayoutType
参数实现条件布局,您可以在
OnInitialized
生命周期方法中以编程方式设置布局,或者直接在 Razor 页面内使用不依赖于
@layout
指令的逻辑。

    @page "/WasteNum/{LayoutType}"

@layout MainLayout

@code {
    [Parameter]
    public string LayoutType { get; set; } = "Main";

    protected override void OnInitialized()
    {
        if (LayoutType == "Tab")
        {
            Layout = typeof(TabLayout);
        }
        else
        {
            Layout = typeof(MainLayout);
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.