From 7087e7f0057a5b31c4baaa8af832d4116d7d2d78 Mon Sep 17 00:00:00 2001
From: sight <1453017105@qq.com>
Date: Thu, 25 Aug 2022 00:43:35 +0800
Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B(component):=20[dropdown]=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D=20popupContainer=20=E4=B8=8D=E9=80=82=E7=94=A8?=
=?UTF-8?q?=E4=BA=8E=20vue=20=E8=87=AA=E8=BA=AB=E6=B8=B2=E6=9F=93=E7=9A=84?=
=?UTF-8?q?=E5=85=83=E7=B4=A0=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../component/dropdown/TeleportWrapper.vue | 33 +++++++++++++++++++
.../src/component/dropdown/index.vue | 12 +++----
.../src/document/zh-CN/components/dropdown.md | 11 +++++++
3 files changed, 50 insertions(+), 6 deletions(-)
create mode 100644 package/component/src/component/dropdown/TeleportWrapper.vue
diff --git a/package/component/src/component/dropdown/TeleportWrapper.vue b/package/component/src/component/dropdown/TeleportWrapper.vue
new file mode 100644
index 00000000..6e412431
--- /dev/null
+++ b/package/component/src/component/dropdown/TeleportWrapper.vue
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/package/component/src/component/dropdown/index.vue b/package/component/src/component/dropdown/index.vue
index 7fe8217f..d86129fd 100644
--- a/package/component/src/component/dropdown/index.vue
+++ b/package/component/src/component/dropdown/index.vue
@@ -30,6 +30,7 @@ import {
ElementScrollRect,
DropdownContext,
} from "./interface";
+import TeleportWrapper from './TeleportWrapper.vue';
export type DropdownTrigger = "click" | "hover" | "focus" | "contextMenu";
@@ -52,7 +53,7 @@ export interface LayDropdownProps {
mouseLeaveDelay?: number;
focusDelay?: number;
alignPoint?: boolean;
- popupContainer?: string | HTMLElement | undefined;
+ popupContainer?: string | undefined;
}
const props = withDefaults(defineProps(), {
@@ -77,7 +78,7 @@ const props = withDefaults(defineProps(), {
});
const childrenRefs = new Set[>();
-const dropdownCtx = inject(dropdownInjectionKey, undefined);
+const dropdownCtx = inject(dropdownInjectionKey, undefined);
const dropdownRef = shallowRef();
const contentRef = shallowRef();
const contentStyle = ref({});
@@ -87,8 +88,7 @@ const openState = ref(false);
const containerRef = computed(() =>
props.popupContainer
- ? // @ts-ignore
- document.querySelector(props.popupContainer) ?? document.body
+ ? document.querySelector(props.popupContainer) ?? document.body
: dropdownRef.value
) as ComputedRef;
@@ -612,7 +612,7 @@ defineExpose({ open, hide, toggle });
]
-
+
-
+
diff --git a/package/document-component/src/document/zh-CN/components/dropdown.md b/package/document-component/src/document/zh-CN/components/dropdown.md
index c3a35089..9fc962a9 100644
--- a/package/document-component/src/document/zh-CN/components/dropdown.md
+++ b/package/document-component/src/document/zh-CN/components/dropdown.md
@@ -23,6 +23,17 @@
+
+
+ 下拉菜单
+
+
+ 选项一
+ 选项二
+ 选项三
+
+
+