English | [简体中文](./README.zh-CN.md)

Ant Design Pro Layout

[![NPM version](https://img.shields.io/npm/v/@ant-design-vue/pro-layout/latest?style=flat)](https://npmjs.org/package/@ant-design-vue/pro-layout) [![Vue Support](https://img.shields.io/badge/support-Vue2-green?style=flat)](./package.json) [![NPM downloads](http://img.shields.io/npm/dm/@ant-design-vue/pro-layout.svg?style=flat)](https://npmjs.org/package/@ant-design-vue/pro-layout) [![License](https://img.shields.io/github/license/vueComponent/pro-layout)](./LICENSE)
## Usage ```bash npm i @ant-design-vue/pro-layout --save // or yarn add @ant-design-vue/pro-layout ``` ```jsx import ProLayout from '@ant-design-vue/pro-layout' // by jsx export default { name: 'BasicLayout', render () { return ( ) } } ``` ```vue ``` ## API ### ProLayout | Property | Description | Type | Default Value | | --- | --- | --- | --- | | title | layout in the upper left corner title | VNode \| String | `'Ant Design Pro'` | | logo | layout top left logo url | VNode \| render | - | | loading`*` | layout loading status | boolean | - | | layout | layout menu mode, sidemenu: right navigation, topmenu: top navigation | 'sidemenu' \| 'topmenu' | `'sidemenu'` | | contentWidth | content mode of layout, Fluid: adaptive, Fixed: fixed width 1200px | 'Fixed' \| 'Fluid' | `Fluid` | | theme | Navigation menu theme | 'light' \| 'dark' | `'dark'` | | menus | Vue-router `routes` prop | Object | `[{}]` | | collapsed | control menu's collapse and expansion | boolean | true | | isMobile | is mobile | boolean | false | | handleCollapse | folding collapse event of menu | (collapsed: boolean) => void | - | | menuHeaderRender | render logo and title | v-slot \| VNode \| (logo,title)=>VNode \| false | - | | headerRender | custom header render method | (props: BasicLayoutProps) => VNode | - | | rightContentRender | header right content render method | (props: HeaderViewProps) => VNode | - | | collapsedButtonRender | custom collapsed button method | (collapsed: boolean) => VNode | - | | footerRender | custom footer render method | (props: BasicLayoutProps) => VNode | `false` | - | | breadcrumbRender | custom breadcrumb render method | ({ route, params, routes, paths, h }) => VNode[] | - | | i18nRender | i18n | Function (key: string) => string \| `false` | `false` | | handleMediaQuery | media matchs callback | (querys: []) => void | - | | mediaQuery | media matchs | Array | - | | openOnceKey | menu only open root key | `true` | - | ### PageHeaderWrapper | Property | Description | Type | Default Value | | --- | --- | --- | --- | | content | Content area | VNode \| v-slot | - | | extra | Extra content area, on the right side of content | VNode \| v-slot | - | | extraContent | Extra content area, on the right side of content | VNode \| v-slot | - | | tabList | Tabs title list | `Array<{key: string, tab: sting}>` | - | | tab-change | Switch panel callback | (key) => void | - | | tab-active-key | The currently highlighted tab item | string | - | ### SettingDrawer #### {settings} | Property | Description | Type | Default Value | | ---- | ---- | ---- | ---- | | theme | Theme | `dark` `light` `realDark` | `light` | | layout | Sider Layout | `sidemenu` `topmenu` | `sidemenu` | | primaryColor | Primary color (*development only) | `#1890ff` | | | contentWidth | content mode of layout, Fluid: adaptive, Fixed: fixed width 1200px | 'Fixed' \| 'Fluid' | `Fluid` |