diff --git a/package/component/src/component/dropdown/index.vue b/package/component/src/component/dropdown/index.vue index 2a1dc089..d31d64c4 100644 --- a/package/component/src/component/dropdown/index.vue +++ b/package/component/src/component/dropdown/index.vue @@ -59,7 +59,7 @@ const props = withDefaults(defineProps(), { visible: false, trigger: "click", disabled: false, - placement: "bottom-left", + placement: "bottom-start", autoFitPosition: true, autoFitMinWidth: true, autoFitWidth: false, @@ -265,16 +265,16 @@ const getContentStyle = ( }; const getPosition = (placement: DropdownPlacement) => { - if (["top", "top-left", "top-right"].includes(placement)) { + if (["top", "top-start", "top-end"].includes(placement)) { return "top"; } - if (["bottom", "bottom-left", "bottom-right"].includes(placement)) { + if (["bottom", "bottom-start", "bottom-end"].includes(placement)) { return "bottom"; } - if (["left", "left-bottom", "left-top"].includes(placement)) { + if (["left", "left-start", "left-end"].includes(placement)) { return "left"; } - if (["right", "right-bottom", "right-top"].includes(placement)) { + if (["right", "right-start", "right-end"].includes(placement)) { return "right"; } return "bottom"; @@ -345,12 +345,12 @@ const getContentOffset = ( triggerRect.scrollLeft + Math.round((triggerRect.width - contentRect.width) / 2), }; - case "top-left": + case "top-start": return { top: triggerRect.scrollTop - contentRect.height - props.contentOffset, left: triggerRect.scrollLeft, }; - case "top-right": + case "top-end": return { top: triggerRect.scrollTop - contentRect.height - props.contentOffset, left: triggerRect.scrollRight - contentRect.width, @@ -362,12 +362,12 @@ const getContentOffset = ( triggerRect.scrollLeft + Math.round((triggerRect.width - contentRect.width) / 2), }; - case "bottom-left": + case "bottom-start": return { top: triggerRect.scrollBottom + props.contentOffset, left: triggerRect.scrollLeft, }; - case "bottom-right": + case "bottom-end": return { top: triggerRect.scrollBottom + props.contentOffset, left: triggerRect.scrollRight - contentRect.width, @@ -379,12 +379,12 @@ const getContentOffset = ( Math.round((triggerRect.height - contentRect.height) / 2), left: triggerRect.scrollRight + props.contentOffset, }; - case "right-top": + case "right-start": return { top: triggerRect.scrollTop, left: triggerRect.scrollRight + props.contentOffset, }; - case "right-bottom": + case "right-end": return { top: triggerRect.scrollBottom - contentRect.height, left: triggerRect.scrollRight + props.contentOffset, @@ -396,12 +396,12 @@ const getContentOffset = ( Math.round((triggerRect.height - contentRect.height) / 2), left: triggerRect.scrollLeft - contentRect.width - props.contentOffset, }; - case "left-top": + case "left-start": return { top: triggerRect.scrollTop, left: triggerRect.scrollLeft - contentRect.width - props.contentOffset, }; - case "left-bottom": + case "left-end": return { top: triggerRect.scrollBottom - contentRect.height, left: triggerRect.scrollLeft - contentRect.width - props.contentOffset, diff --git a/package/component/src/component/dropdown/interface.ts b/package/component/src/component/dropdown/interface.ts index 43c5d803..9483b932 100644 --- a/package/component/src/component/dropdown/interface.ts +++ b/package/component/src/component/dropdown/interface.ts @@ -1,17 +1,17 @@ export type DropdownTrigger = "click" | "hover" | "focus" | "contextMenu"; export type DropdownPlacement = | "top" - | "top-left" - | "top-right" + | "top-start" + | "top-end" | "bottom" - | "bottom-left" - | "bottom-right" + | "bottom-start" + | "bottom-end" | "right" - | "right-top" - | "right-bottom" + | "right-start" + | "right-end" | "left" - | "left-top" - | "left-bottom"; + | "left-start" + | "left-end"; export interface ElementScrollRect { top: number; diff --git a/package/component/src/component/dropdownSubMenu/index.vue b/package/component/src/component/dropdownSubMenu/index.vue index 8c332a9c..8f2962b1 100644 --- a/package/component/src/component/dropdownSubMenu/index.vue +++ b/package/component/src/component/dropdownSubMenu/index.vue @@ -24,7 +24,7 @@ export interface LayDropdownSubMenuProps { const props = withDefaults(defineProps(), { trigger: "hover", disabled: false, - placement: "right-top", + placement: "right-start", contentOffset: 2, }); diff --git a/package/component/src/component/subMenu/SubMenuPopup.vue b/package/component/src/component/subMenu/SubMenuPopup.vue index be1ceb2e..84659e49 100644 --- a/package/component/src/component/subMenu/SubMenuPopup.vue +++ b/package/component/src/component/subMenu/SubMenuPopup.vue @@ -30,7 +30,7 @@ const isOpen = computed(() => {