Skip to content

Layout 布局

后台管理 layout 的共享组件库 @fx/layouts:纯 UI 件 + 业务适配层 + 状态/上下文,统一在一个包内。

设计定位

@fx/layouts 承载 web layout 的全部组件,依赖 vue-router / pinia / @fx/storage / @fx/components / @fx-core/icon / @fx/styles。纯 UI 件(FxLayout/FxTabs/FxLogo/FxFooter/FxThemeButton/FxNotifyButton)与业务件(BasicLayout/FxLayoutMenuSearch 等)同包,业务件可自由使用纯 UI 件与业务上下文。

组件清单

纯 UI 件

组件说明
FxLayout 布局骨架slot 容器,封装布局结构
FxTabs 标签页多风格标签页 + useTabs composable
FxThemeButton 主题切换亮/暗切换 + View Transition 动画
FxLogo 应用 Logo图标 + 标题文字
FxFooter 页脚ICP 备案 + 版权

业务件

组件 / API说明
FxLayoutMenuSearch 菜单搜索自带收集菜单 + 跳转
BasicLayout 业务布局根骨架,一行接入
useLayoutStore 布局状态pinia store(collapsed / tabs / maximized / isDark / refreshing)

安装

monorepo 内部 workspace 包:

json
{
  "dependencies": {
    "@fx/layouts": "workspace:*"
  }
}

引入

ts
import { BasicLayout, useLayoutStore, FxLayout, FxTabs } from "@fx/layouts"

依赖

运行时依赖
@fx/layoutsvuevue-routerpinia@fx/storage@fx-core/icon@fx/styles@fx/components