133 lines
3.7 KiB
Vue
133 lines
3.7 KiB
Vue
|
<docs>
|
|||
|
---
|
|||
|
order: 3
|
|||
|
title:
|
|||
|
zh-CN: 顶部-侧边布局
|
|||
|
en-US: Header-Sider
|
|||
|
---
|
|||
|
|
|||
|
## zh-CN
|
|||
|
|
|||
|
拥有顶部导航及侧边栏的页面,多用于展示类网站。
|
|||
|
|
|||
|
## en-US
|
|||
|
|
|||
|
Both the top navigation and the sidebar, commonly used in documentation site.
|
|||
|
|
|||
|
</docs>
|
|||
|
<template>
|
|||
|
<a-layout>
|
|||
|
<a-layout-header class="header">
|
|||
|
<div class="logo" />
|
|||
|
<a-menu
|
|||
|
v-model:selectedKeys="selectedKeys1"
|
|||
|
theme="dark"
|
|||
|
mode="horizontal"
|
|||
|
:style="{ lineHeight: '64px' }"
|
|||
|
>
|
|||
|
<a-menu-item key="1">nav 1</a-menu-item>
|
|||
|
<a-menu-item key="2">nav 2</a-menu-item>
|
|||
|
<a-menu-item key="3">nav 3</a-menu-item>
|
|||
|
</a-menu>
|
|||
|
</a-layout-header>
|
|||
|
<a-layout-content style="padding: 0 50px">
|
|||
|
<a-breadcrumb style="margin: 16px 0">
|
|||
|
<a-breadcrumb-item>Home</a-breadcrumb-item>
|
|||
|
<a-breadcrumb-item>List</a-breadcrumb-item>
|
|||
|
<a-breadcrumb-item>App</a-breadcrumb-item>
|
|||
|
</a-breadcrumb>
|
|||
|
<a-layout style="padding: 24px 0; background: #fff">
|
|||
|
<a-layout-sider width="200" style="background: #fff">
|
|||
|
<a-menu
|
|||
|
v-model:selectedKeys="selectedKeys2"
|
|||
|
v-model:openKeys="openKeys"
|
|||
|
mode="inline"
|
|||
|
style="height: 100%"
|
|||
|
>
|
|||
|
<a-sub-menu key="sub1">
|
|||
|
<template #title>
|
|||
|
<span>
|
|||
|
<user-outlined />
|
|||
|
subnav 1
|
|||
|
</span>
|
|||
|
</template>
|
|||
|
<a-menu-item key="1">option1</a-menu-item>
|
|||
|
<a-menu-item key="2">option2</a-menu-item>
|
|||
|
<a-menu-item key="3">option3</a-menu-item>
|
|||
|
<a-menu-item key="4">option4</a-menu-item>
|
|||
|
</a-sub-menu>
|
|||
|
<a-sub-menu key="sub2">
|
|||
|
<template #title>
|
|||
|
<span>
|
|||
|
<laptop-outlined />
|
|||
|
subnav 2
|
|||
|
</span>
|
|||
|
</template>
|
|||
|
<a-menu-item key="5">option5</a-menu-item>
|
|||
|
<a-menu-item key="6">option6</a-menu-item>
|
|||
|
<a-menu-item key="7">option7</a-menu-item>
|
|||
|
<a-menu-item key="8">option8</a-menu-item>
|
|||
|
</a-sub-menu>
|
|||
|
<a-sub-menu key="sub3">
|
|||
|
<template #title>
|
|||
|
<span>
|
|||
|
<notification-outlined />
|
|||
|
subnav 3
|
|||
|
</span>
|
|||
|
</template>
|
|||
|
<a-menu-item key="9">option9</a-menu-item>
|
|||
|
<a-menu-item key="10">option10</a-menu-item>
|
|||
|
<a-menu-item key="11">option11</a-menu-item>
|
|||
|
<a-menu-item key="12">option12</a-menu-item>
|
|||
|
</a-sub-menu>
|
|||
|
</a-menu>
|
|||
|
</a-layout-sider>
|
|||
|
<a-layout-content :style="{ padding: '0 24px', minHeight: '280px' }">
|
|||
|
Content
|
|||
|
</a-layout-content>
|
|||
|
</a-layout>
|
|||
|
</a-layout-content>
|
|||
|
<a-layout-footer style="text-align: center">
|
|||
|
Ant Design ©2018 Created by Ant UED
|
|||
|
</a-layout-footer>
|
|||
|
</a-layout>
|
|||
|
</template>
|
|||
|
|
|||
|
<script lang="ts">
|
|||
|
import { UserOutlined, LaptopOutlined, NotificationOutlined } from '@ant-design/icons-vue';
|
|||
|
import { defineComponent, ref } from 'vue';
|
|||
|
export default defineComponent({
|
|||
|
components: {
|
|||
|
UserOutlined,
|
|||
|
LaptopOutlined,
|
|||
|
NotificationOutlined,
|
|||
|
},
|
|||
|
setup() {
|
|||
|
return {
|
|||
|
selectedKeys1: ref<string[]>(['2']),
|
|||
|
selectedKeys2: ref<string[]>(['1']),
|
|||
|
openKeys: ref<string[]>(['sub1']),
|
|||
|
};
|
|||
|
},
|
|||
|
});
|
|||
|
</script>
|
|||
|
|
|||
|
<style>
|
|||
|
#components-layout-demo-top-side .logo {
|
|||
|
float: left;
|
|||
|
width: 120px;
|
|||
|
height: 31px;
|
|||
|
margin: 16px 24px 16px 0;
|
|||
|
background: rgba(255, 255, 255, 0.3);
|
|||
|
}
|
|||
|
|
|||
|
.ant-row-rtl #components-layout-demo-top-side .logo {
|
|||
|
float: right;
|
|||
|
margin: 16px 0 16px 24px;
|
|||
|
}
|
|||
|
|
|||
|
.site-layout-background {
|
|||
|
background: #fff;
|
|||
|
}
|
|||
|
</style>
|