102 lines
2.3 KiB
Vue
102 lines
2.3 KiB
Vue
<docs>
|
||
---
|
||
order: 5
|
||
title:
|
||
zh-CN: 自定义触发器
|
||
en-US: Custom trigger
|
||
---
|
||
|
||
## zh-CN
|
||
|
||
要使用自定义触发器,可以设置 `:trigger="null"` 来隐藏默认设定。
|
||
|
||
## en-US
|
||
|
||
If you want to use a customized trigger, you can hide the default one by setting `:trigger="null"`.
|
||
|
||
</docs>
|
||
<template>
|
||
<a-layout>
|
||
<a-layout-sider v-model:collapsed="collapsed" :trigger="null" collapsible>
|
||
<div class="logo" />
|
||
<a-menu v-model:selectedKeys="selectedKeys" theme="dark" mode="inline">
|
||
<a-menu-item key="1">
|
||
<user-outlined />
|
||
<span>nav 1</span>
|
||
</a-menu-item>
|
||
<a-menu-item key="2">
|
||
<video-camera-outlined />
|
||
<span>nav 2</span>
|
||
</a-menu-item>
|
||
<a-menu-item key="3">
|
||
<upload-outlined />
|
||
<span>nav 3</span>
|
||
</a-menu-item>
|
||
</a-menu>
|
||
</a-layout-sider>
|
||
<a-layout>
|
||
<a-layout-header style="background: #fff; padding: 0">
|
||
<menu-unfold-outlined
|
||
v-if="collapsed"
|
||
class="trigger"
|
||
@click="() => (collapsed = !collapsed)"
|
||
/>
|
||
<menu-fold-outlined v-else class="trigger" @click="() => (collapsed = !collapsed)" />
|
||
</a-layout-header>
|
||
<a-layout-content
|
||
:style="{ margin: '24px 16px', padding: '24px', background: '#fff', minHeight: '280px' }"
|
||
>
|
||
Content
|
||
</a-layout-content>
|
||
</a-layout>
|
||
</a-layout>
|
||
</template>
|
||
<script lang="ts">
|
||
import {
|
||
UserOutlined,
|
||
VideoCameraOutlined,
|
||
UploadOutlined,
|
||
MenuUnfoldOutlined,
|
||
MenuFoldOutlined,
|
||
} from '@ant-design/icons-vue';
|
||
import { defineComponent, ref } from 'vue';
|
||
export default defineComponent({
|
||
components: {
|
||
UserOutlined,
|
||
VideoCameraOutlined,
|
||
UploadOutlined,
|
||
MenuUnfoldOutlined,
|
||
MenuFoldOutlined,
|
||
},
|
||
setup() {
|
||
return {
|
||
selectedKeys: ref<string[]>(['1']),
|
||
collapsed: ref<boolean>(false),
|
||
};
|
||
},
|
||
});
|
||
</script>
|
||
<style>
|
||
#components-layout-demo-custom-trigger .trigger {
|
||
font-size: 18px;
|
||
line-height: 64px;
|
||
padding: 0 24px;
|
||
cursor: pointer;
|
||
transition: color 0.3s;
|
||
}
|
||
|
||
#components-layout-demo-custom-trigger .trigger:hover {
|
||
color: #1890ff;
|
||
}
|
||
|
||
#components-layout-demo-custom-trigger .logo {
|
||
height: 32px;
|
||
background: rgba(255, 255, 255, 0.3);
|
||
margin: 16px;
|
||
}
|
||
|
||
.site-layout .site-layout-background {
|
||
background: #fff;
|
||
}
|
||
</style>
|