吴雨瞳添加了注释

master
wyt 4 months ago
parent bf5f8528fd
commit 0911046198

@ -1,32 +1,52 @@
<template>
<!-- 下拉菜单内容过渡动画组件使用指定的过渡名称 -->
<transition name="dropdown-content">
<!-- 非展开模式下的下拉菜单容器
- v-if="!expand && active"当非展开模式且菜单激活时显示
- 样式绝对定位右上角为原点距离顶部2px宽度48深色背景圆角内边距阴影
-->
<div
v-if="!expand && active"
class="origin-top-right absolute right-0 mt-2 w-48 bg-ob-deep-900 rounded-lg py-2 shadow-md">
v-if="!expand && active"
class="origin-top-right absolute right-0 mt-2 w-48 bg-ob-deep-900 rounded-lg py-2 shadow-md">
<!-- 插槽用于插入下拉菜单项DropdownItem -->
<slot />
</div>
<!-- 展开模式下的下拉菜单容器
- v-else-if="expand && active"当展开模式且菜单激活时显示
- 样式弹性布局垂直居中水平居中距离顶部2px宽度48深色背景圆角内边距
-->
<div
v-else-if="expand && active"
class="flex flex-col justify-center items-center mt-2 w-48 bg-ob-deep-900 rounded-lg py-2">
v-else-if="expand && active"
class="flex flex-col justify-center items-center mt-2 w-48 bg-ob-deep-900 rounded-lg py-2">
<!-- 插槽用于插入下拉菜单项DropdownItem -->
<slot />
</div>
</transition>
</template>
<script lang="ts">
// VueAPI
import { computed, defineComponent, inject } from 'vue'
//
export default defineComponent({
name: 'DropdownMenu',
name: 'DropdownMenu', //
props: {
//
expand: {
type: Boolean,
default: false
default: false //
}
},
setup() {
// Dropdownactive/
// 使{ active: false }
const sharedState = inject('sharedState', { active: false })
// active
const active = computed(() => sharedState.active)
// active使
return {
active
}
@ -35,13 +55,17 @@ export default defineComponent({
</script>
<style lang="scss" scoped>
//
//
.dropdown-content-enter-active,
.dropdown-content-leave-active {
transition: all 0.2s;
transition: all 0.2s; // 0.2
}
//
.dropdown-content-enter,
.dropdown-content-leave-to {
opacity: 0;
transform: translateY(-5px);
opacity: 0; // 0
transform: translateY(-5px); // 5px
}
</style>
</style>
Loading…
Cancel
Save