Skip to content

Layout

简介

PlusLayout 是由 PlusBreadcrumb PlusHeader PlusSidebar 三个组件组合而成,它解决了布局的问题,提供开箱即用的菜单(多级)和面包屑功能。

基础用法

Layout API

Layout Attributes

名称说明类型默认值是否必须
breadcrumbPropsPlusBreadcrumb 的 propsobject PlusBreadcrumb
headerPropsPlusHeader 的 propsobjectPlusHeader
sidebarPropsPlusSidebar 的 propsobjectPlusSidebar
scrollbarPropsscrollbar 的 propsfalse / objectScrollbarProps {always:true}
backtopbacktop 的 propsfalse / objectBacktopProps true
hasSidebarv0.1.15是否需要侧边栏booleantrue
hasHeaderv0.1.15是否需要页头booleantrue
hasBreadcrumbv0.1.15是否需要面包屑booleantrue

提示

子组件事件写法示例

PlusSidebar 的事件 toggleCollapsePlusHeader 的事件clickDropdownItem。 参考 vue 官方文档 透传 Attributes,如下示例

示例:

模板中

html
<PlusLayout
  :sidebarProps="{ onToggleCollapse: handleToggleCollapse }"
  :headerProps="{ onClickDropdownItem: handleClickDropdownItem}"
/>

setup 中

ts
const handleClickDropdownItem = (dropdownItem: { label: string; value: string }) => {
  console.log(dropdownItem)
}

const handleToggleCollapse = (collapse: boolean) => {
  console.log(collapse)
}

Exposes

名称说明类型
plusSidebarInstancePlusSidebar 的实例object

Slots

插槽名说明作用域插槽参数
default内容,一般需要给 RouterView 组件,配合路由信息展示页面
layout-extra定义面包屑上方,header 下方的一块区域
breadcrumb-item-title自定义PlusBreadcrumb 面包屑显示route PlusRouteRecordRaw
header-left自定义PlusHeader 头部左侧{logo,title}
header-right自定义PlusHeader 头部右侧{userInfo,title}
sidebar-item自定义 PlusSidebar 菜单的 menuItemroute PlusRouteRecordRaw
sidebar-sub自定义 PlusSidebar 菜单的 subMenuroute PlusRouteRecordRaw
sidebar-item-title自定义 PlusSidebar 菜单每项标题显示route PlusRouteRecordRaw
sidebar-extra自定义 PlusSidebar 在菜单头和菜单之间route PlusRouteRecordRaw