210 lines
4.3 KiB
Vue
210 lines
4.3 KiB
Vue
|
<docs>
|
|||
|
---
|
|||
|
order: 7
|
|||
|
iframe: 360
|
|||
|
title:
|
|||
|
zh-CN: 固定侧边栏
|
|||
|
en-US: Fixed Sider
|
|||
|
---
|
|||
|
|
|||
|
## zh-CN
|
|||
|
|
|||
|
当内容较长时,使用固定侧边栏可以提供更好的体验。
|
|||
|
|
|||
|
## en-US
|
|||
|
|
|||
|
When dealing with long content, a fixed sider can provide a better user experience.
|
|||
|
|
|||
|
</docs>
|
|||
|
<template>
|
|||
|
<a-layout>
|
|||
|
<a-layout-sider :style="{ overflow: 'auto', height: '100vh', position: 'fixed', left: 0 }">
|
|||
|
<div class="logo" />
|
|||
|
<a-menu v-model:selectedKeys="selectedKeys" theme="dark" mode="inline">
|
|||
|
<a-menu-item key="1">
|
|||
|
<user-outlined />
|
|||
|
<span class="nav-text">nav 1</span>
|
|||
|
</a-menu-item>
|
|||
|
<a-menu-item key="2">
|
|||
|
<video-camera-outlined />
|
|||
|
<span class="nav-text">nav 2</span>
|
|||
|
</a-menu-item>
|
|||
|
<a-menu-item key="3">
|
|||
|
<upload-outlined />
|
|||
|
<span class="nav-text">nav 3</span>
|
|||
|
</a-menu-item>
|
|||
|
<a-menu-item key="4">
|
|||
|
<bar-chart-outlined />
|
|||
|
<span class="nav-text">nav 4</span>
|
|||
|
</a-menu-item>
|
|||
|
<a-menu-item key="5">
|
|||
|
<cloud-outlined />
|
|||
|
<span class="nav-text">nav 5</span>
|
|||
|
</a-menu-item>
|
|||
|
<a-menu-item key="6">
|
|||
|
<appstore-outlined />
|
|||
|
<span class="nav-text">nav 6</span>
|
|||
|
</a-menu-item>
|
|||
|
<a-menu-item key="7">
|
|||
|
<team-outlined />
|
|||
|
<span class="nav-text">nav 7</span>
|
|||
|
</a-menu-item>
|
|||
|
<a-menu-item key="8">
|
|||
|
<shop-outlined />
|
|||
|
<span class="nav-text">nav 8</span>
|
|||
|
</a-menu-item>
|
|||
|
</a-menu>
|
|||
|
</a-layout-sider>
|
|||
|
<a-layout :style="{ marginLeft: '200px' }">
|
|||
|
<a-layout-header :style="{ background: '#fff', padding: 0 }" />
|
|||
|
<a-layout-content :style="{ margin: '24px 16px 0', overflow: 'initial' }">
|
|||
|
<div :style="{ padding: '24px', background: '#fff', textAlign: 'center' }">
|
|||
|
...
|
|||
|
<br />
|
|||
|
Really
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
long
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
...
|
|||
|
<br />
|
|||
|
content
|
|||
|
</div>
|
|||
|
</a-layout-content>
|
|||
|
<a-layout-footer :style="{ textAlign: 'center' }">
|
|||
|
Ant Design ©2018 Created by Ant UED
|
|||
|
</a-layout-footer>
|
|||
|
</a-layout>
|
|||
|
</a-layout>
|
|||
|
</template>
|
|||
|
<script lang="ts">
|
|||
|
import {
|
|||
|
UserOutlined,
|
|||
|
VideoCameraOutlined,
|
|||
|
UploadOutlined,
|
|||
|
BarChartOutlined,
|
|||
|
CloudOutlined,
|
|||
|
AppstoreOutlined,
|
|||
|
TeamOutlined,
|
|||
|
ShopOutlined,
|
|||
|
} from '@ant-design/icons-vue';
|
|||
|
import { defineComponent, ref } from 'vue';
|
|||
|
export default defineComponent({
|
|||
|
components: {
|
|||
|
UserOutlined,
|
|||
|
VideoCameraOutlined,
|
|||
|
UploadOutlined,
|
|||
|
BarChartOutlined,
|
|||
|
CloudOutlined,
|
|||
|
AppstoreOutlined,
|
|||
|
TeamOutlined,
|
|||
|
ShopOutlined,
|
|||
|
},
|
|||
|
setup() {
|
|||
|
return {
|
|||
|
selectedKeys: ref<string[]>(['4']),
|
|||
|
};
|
|||
|
},
|
|||
|
});
|
|||
|
</script>
|
|||
|
|
|||
|
<style>
|
|||
|
#components-layout-demo-fixed-sider .logo {
|
|||
|
height: 32px;
|
|||
|
background: rgba(255, 255, 255, 0.2);
|
|||
|
margin: 16px;
|
|||
|
}
|
|||
|
.site-layout .site-layout-background {
|
|||
|
background: #fff;
|
|||
|
}
|
|||
|
|
|||
|
[data-theme='dark'] .site-layout .site-layout-background {
|
|||
|
background: #141414;
|
|||
|
}
|
|||
|
</style>
|