项目

本文档有多个版本。请选择最适合您的选项。

UI

Blazor UI:基础主题

基础主题是专为Blazor UI实现的主题方案。这是一个极简风格的主题,在原生 Bootstrap 框架基础上未添加任何额外样式。您可以将基础主题作为底层主题,并基于它构建自己的主题或样式。具体请参阅自定义章节。

如果您需要专业且具备企业级Ready的主题,可查看作为 ABP 组成部分的 Lepton主题

关于主题系统的完整说明,请参阅 主题文档

安装指南

如需手动安装此主题,请按以下步骤操作:

  1. Blazor项目中安装Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme.Bundling NuGet包
  2. Blazor项目的模块类[DependsOn(...)]属性中添加AbpAspNetCoreComponentsWebAssemblyBasicThemeBundlingModule
  3. Blazor.Client项目中安装Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme NuGet包
  4. Blazor.Client项目的模块类[DependsOn(...)]属性中添加AbpAspNetCoreComponentsWebAssemblyBasicThemeModule

按以下方式更新Blazor.Client项目中的Routes.razor文件:

@using Volo.Abp.AspNetCore.Components.Web.BasicTheme.Themes.Basic
@using Volo.Abp.AspNetCore.Components.WebAssembly.WebApp
<Router AppAssembly="typeof(Program).Assembly" AdditionalAssemblies="WebAppAdditionalAssembliesHelper.GetAssemblies<YourBlazorClientModule>()">
    <Found Context="routeData">
        <AuthorizeRouteView RouteData="routeData" DefaultLayout="typeof(MainLayout)">
            <NotAuthorized>
                <RedirectToLogin />
            </NotAuthorized>
        </AuthorizeRouteView>
    </Found>
</Router>

布局结构

基础主题应用布局

应用布局除包含上述通用部分外,还实现了以下组件区域:

自定义方案

您可通过两种方式自定义此主题:

覆盖样式/组件

此方案中,您可继续使用NuGet和NPM包形式提供的主题,并按需自定义特定部分:

样式覆盖

您可以直接在应用程序的全局样式文件中覆盖样式定义。

组件覆盖

请参阅 自定义/覆盖组件 了解如何替换组件、定制和扩展用户界面。

覆盖菜单项

基础主题支持使用自定义组件覆盖单个菜单项。您可创建自定义组件并在菜单贡献者中调用UseComponent扩展方法。

using Volo.Abp.UI.Navigation;

//...

context.Menu.Items.Add(
  new ApplicationMenuItem("Custom.1", "我的自定义菜单", "#")
    .UseComponent(typeof(MyMenuItemComponent)));
<li class="nav-item">
    <a href="#" class="nav-link">
        我的自定义菜单
    </a>
</li>

复制源码并自定义

BlazorWebAssembly项目目录中执行以下 ABP CLI 命令,将源代码复制至您的解决方案:

abp add-package Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme --with-source-code --add-to-solution-file

随后进入下载的Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme项目目录并执行:

abp add-package Volo.Abp.AspNetCore.Components.Web.BasicTheme --with-source-code --add-to-solution-file


或者,您也可以下载基础主题的源代码,手动将项目内容复制到解决方案中,重新配置包/模块依赖关系(参见上文安装章节了解原始安装方式),并根据应用需求自由定制主题。

扩展阅读

在本文档中