2020-02-07 22:31:26 +08:00
|
|
|
# 压缩菜单
|
2020-09-17 10:47:14 +08:00
|
|
|
可以让垂直菜单随着边栏压缩。使用 `collapsed` 属性控制菜单状态。必需设定 `collapsed-width` 来确保菜单正常显示。除此之外还有一些其他和压缩有关的属性:`icon-size`、`collapsed-icon-size`、`popover-body-style`。详细信息参考页面底下的 API 文档。
|
2020-02-07 22:31:26 +08:00
|
|
|
```html
|
2020-10-26 12:31:14 +08:00
|
|
|
<n-space vertical>
|
2020-10-08 00:25:38 +08:00
|
|
|
<n-switch v-model:value="collapsed" />
|
2020-02-07 22:31:26 +08:00
|
|
|
<n-layout>
|
2020-10-08 00:25:38 +08:00
|
|
|
<n-layout-sider
|
|
|
|
collapse-mode="width"
|
|
|
|
:collapsed-width="64"
|
|
|
|
:width="240"
|
|
|
|
:collapsed="collapsed"
|
|
|
|
show-toggle-button
|
|
|
|
@collapse="collapsed = true"
|
|
|
|
@expand="collapsed = false"
|
|
|
|
>
|
|
|
|
<n-menu
|
|
|
|
:collapsed="collapsed"
|
|
|
|
:collapsed-width="64"
|
|
|
|
:collapsed-icon-size="22"
|
|
|
|
:items="menuItems"
|
|
|
|
v-model:value="activeKey"
|
|
|
|
/>
|
|
|
|
</n-layout-sider>
|
|
|
|
<n-layout>
|
|
|
|
<n-layout-content>
|
|
|
|
<span>内容</span>
|
|
|
|
</n-layout-content>
|
|
|
|
</n-layout>
|
2020-02-07 22:31:26 +08:00
|
|
|
</n-layout>
|
2020-10-08 00:25:38 +08:00
|
|
|
</n-space>
|
2020-02-07 22:31:26 +08:00
|
|
|
```
|
|
|
|
```js
|
2020-09-17 10:47:14 +08:00
|
|
|
import { h, resolveComponent } from 'vue'
|
2020-11-03 18:56:13 +08:00
|
|
|
import {
|
|
|
|
BookOutline as BookIcon,
|
|
|
|
PersonOutline as PersonIcon,
|
|
|
|
WineOutline as WineIcon
|
2020-11-07 00:07:02 +08:00
|
|
|
} from '@vicons/ionicons-v5'
|
2020-02-07 22:31:26 +08:00
|
|
|
|
2020-09-17 10:47:14 +08:00
|
|
|
function renderIcon(icon) {
|
|
|
|
return () => h(resolveComponent('n-icon'), null, { default: () => h(icon) })
|
|
|
|
}
|
|
|
|
|
2020-06-17 12:45:10 +08:00
|
|
|
const menuItems = [
|
|
|
|
{
|
|
|
|
title: '且听风吟',
|
2020-09-17 12:09:15 +08:00
|
|
|
key: 'hear-the-wind-sing',
|
2020-11-03 18:56:13 +08:00
|
|
|
icon: renderIcon(BookIcon)
|
2020-06-17 12:45:10 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
title: '1973年的弹珠玩具',
|
2020-09-17 12:09:15 +08:00
|
|
|
key: 'pinball-1973',
|
2020-11-03 18:56:13 +08:00
|
|
|
icon: renderIcon(BookIcon),
|
2020-06-17 12:45:10 +08:00
|
|
|
disabled: true,
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
title: '鼠',
|
2020-09-17 12:09:15 +08:00
|
|
|
key: 'rat'
|
2020-06-17 12:45:10 +08:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title: '寻羊冒险记',
|
2020-09-17 12:09:15 +08:00
|
|
|
key: 'a-wild-sheep-chase',
|
2020-09-17 10:47:14 +08:00
|
|
|
disabled: true,
|
2020-11-03 18:56:13 +08:00
|
|
|
icon: renderIcon(BookIcon)
|
2020-06-17 12:45:10 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
title: '舞,舞,舞',
|
2020-09-17 12:09:15 +08:00
|
|
|
key: 'dance-dance-dance',
|
2020-11-03 18:56:13 +08:00
|
|
|
icon: renderIcon(BookIcon),
|
2020-06-17 12:45:10 +08:00
|
|
|
children: [
|
|
|
|
{
|
|
|
|
type: 'group',
|
|
|
|
title: '人物',
|
2020-09-17 12:09:15 +08:00
|
|
|
key: 'people',
|
2020-06-17 12:45:10 +08:00
|
|
|
children: [
|
|
|
|
{
|
|
|
|
title: '叙事者',
|
2020-09-17 12:09:15 +08:00
|
|
|
key: 'narrator',
|
2020-11-03 18:56:13 +08:00
|
|
|
icon: renderIcon(PersonIcon)
|
2020-06-17 12:45:10 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
title: '羊男',
|
2020-09-17 12:09:15 +08:00
|
|
|
key: 'sheep-man',
|
2020-11-03 18:56:13 +08:00
|
|
|
icon: renderIcon(PersonIcon)
|
2020-06-17 12:45:10 +08:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title: '饮品',
|
2020-09-17 12:09:15 +08:00
|
|
|
key: 'beverage',
|
2020-11-03 18:56:13 +08:00
|
|
|
icon: renderIcon(WineIcon),
|
2020-06-17 12:45:10 +08:00
|
|
|
children: [
|
|
|
|
{
|
|
|
|
title: '威士忌',
|
2020-09-17 12:09:15 +08:00
|
|
|
key: 'whisky'
|
2020-06-17 12:45:10 +08:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title: '食物',
|
2020-09-17 12:09:15 +08:00
|
|
|
key: 'food',
|
2020-06-17 12:45:10 +08:00
|
|
|
children: [
|
|
|
|
{
|
|
|
|
title: '三明治',
|
2020-09-17 12:09:15 +08:00
|
|
|
key: 'sandwich'
|
2020-06-17 12:45:10 +08:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
title: '过去增多,未来减少',
|
2020-09-17 12:09:15 +08:00
|
|
|
key: 'the-past-increases-the-future-recedes'
|
2020-06-17 12:45:10 +08:00
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
|
2020-02-07 22:31:26 +08:00
|
|
|
export default {
|
|
|
|
data () {
|
|
|
|
return {
|
2020-09-17 12:28:06 +08:00
|
|
|
activeKey: null,
|
2020-06-17 12:45:10 +08:00
|
|
|
collapsed: true,
|
|
|
|
menuItems
|
2020-02-07 22:31:26 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|