✨: dropdown 默认渲染至 body
This commit is contained in:
parent
16f9dd30c8
commit
8a0db60bed
@ -72,13 +72,15 @@
|
||||
border-color: #EEEEEE;
|
||||
}
|
||||
|
||||
.layui-dropdown-content .layui-dropdown{
|
||||
.layui-dropdown-content .layui-menu li.layui-disabled:hover {
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
// fix style
|
||||
.layui-dropdown-menu .layui-dropdown{
|
||||
display: block;
|
||||
width: -moz-available;
|
||||
width: -webkit-fill-available;
|
||||
width: fill-available;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.layui-dropdown-content .layui-menu li.layui-disabled:hover {
|
||||
background-color: inherit;
|
||||
}
|
@ -73,6 +73,7 @@ const props = withDefaults(defineProps<LayDropdownProps>(), {
|
||||
mouseLeaveDelay: 150,
|
||||
focusDelay: 150,
|
||||
alignPoint: false,
|
||||
popupContainer: "body",
|
||||
});
|
||||
|
||||
const childrenRefs = new Set<Ref<HTMLElement>>();
|
||||
|
@ -36,6 +36,7 @@ const props = withDefaults(defineProps<LayDropdownSubMenuProps>(), {
|
||||
:auto-fit-min-width="false"
|
||||
:contentOffset="contentOffset"
|
||||
:disabled="disabled"
|
||||
updateAtScroll
|
||||
>
|
||||
<lay-dropdown-menu-item :disabled="disabled">
|
||||
<template v-if="$slots.prefix" #prefix>
|
||||
|
@ -367,6 +367,15 @@
|
||||
.layui-this {
|
||||
background-color: var(--global-primary-color);
|
||||
}
|
||||
|
||||
// fix style
|
||||
.layui-dropdown {
|
||||
display: block;
|
||||
width: -moz-available;
|
||||
width: -webkit-fill-available;
|
||||
width: fill-available;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.layui-sub-menu-popup-theme {
|
||||
|
@ -34,6 +34,7 @@ const isOpen = computed(() => {
|
||||
:autoFitMinWidth="false"
|
||||
:contentOffset="3"
|
||||
popupContainer="body"
|
||||
updateAtScroll
|
||||
class="layui-sub-menu-popup"
|
||||
>
|
||||
<li :class="['layui-nav-item']">
|
||||
|
@ -13,7 +13,7 @@
|
||||
::: demo
|
||||
|
||||
<template>
|
||||
<lay-dropdown>
|
||||
<lay-dropdown updateAtScroll>
|
||||
<lay-button type="primary">下拉菜单</lay-button>
|
||||
<template #content>
|
||||
<lay-dropdown-menu>
|
||||
@ -45,7 +45,7 @@ export default {
|
||||
::: demo
|
||||
|
||||
<template>
|
||||
<lay-dropdown trigger="hover">
|
||||
<lay-dropdown trigger="hover" updateAtScroll>
|
||||
<lay-button>Hover 触发</lay-button>
|
||||
<template #content>
|
||||
<lay-dropdown-menu>
|
||||
@ -56,7 +56,7 @@ export default {
|
||||
</template>
|
||||
</lay-dropdown>
|
||||
|
||||
<lay-dropdown>
|
||||
<lay-dropdown updateAtScroll>
|
||||
<lay-button>Click 触发</lay-button>
|
||||
<template #content>
|
||||
<lay-dropdown-menu>
|
||||
@ -67,7 +67,7 @@ export default {
|
||||
</template>
|
||||
</lay-dropdown>
|
||||
|
||||
<lay-dropdown trigger="contextMenu">
|
||||
<lay-dropdown trigger="contextMenu" updateAtScroll>
|
||||
<lay-button>contextMenu 触发</lay-button>
|
||||
<template #content>
|
||||
<lay-dropdown-menu>
|
||||
@ -78,7 +78,7 @@ export default {
|
||||
</template>
|
||||
</lay-dropdown>
|
||||
|
||||
<lay-dropdown trigger="focus">
|
||||
<lay-dropdown trigger="focus" updateAtScroll>
|
||||
<lay-input placeholder="Focus 触发"></lay-input>
|
||||
<template #content>
|
||||
<lay-dropdown-menu>
|
||||
@ -89,7 +89,7 @@ export default {
|
||||
</template>
|
||||
</lay-dropdown>
|
||||
|
||||
<lay-dropdown :trigger="['hover','focus','click']">
|
||||
<lay-dropdown :trigger="['hover','focus','click']" updateAtScroll>
|
||||
<lay-input placeholder="hover focus click"></lay-input>
|
||||
<template #content>
|
||||
<lay-dropdown-menu>
|
||||
@ -123,7 +123,7 @@ export default {
|
||||
<lay-button @click="manualRef.open()">打开</lay-button>
|
||||
<lay-button @click="manualRef.hide()">关闭</lay-button>
|
||||
<br><br>
|
||||
<lay-dropdown ref="manualRef" :clickOutsideToClose="false" :clickToClose="false">
|
||||
<lay-dropdown ref="manualRef" :clickOutsideToClose="false" :clickToClose="false" updateAtScroll>
|
||||
<lay-button type="primary">下拉菜单</lay-button>
|
||||
<template #content>
|
||||
<lay-dropdown-menu>
|
||||
@ -222,7 +222,7 @@ export default {
|
||||
::: demo
|
||||
|
||||
<template>
|
||||
<lay-dropdown @open="stat='开启'" @hide="stat='关闭'">
|
||||
<lay-dropdown @open="stat='开启'" @hide="stat='关闭'" updateAtScroll>
|
||||
<lay-button type="primary" >当前状态:{{stat}}</lay-button>
|
||||
<template #content>
|
||||
<lay-dropdown-menu>
|
||||
@ -255,42 +255,42 @@ export default {
|
||||
::: demo
|
||||
|
||||
<template>
|
||||
<lay-dropdown placement="top-left">
|
||||
<lay-dropdown placement="top-left" updateAtScroll>
|
||||
<lay-button type="primary">topLeft</lay-button>
|
||||
<template #content>
|
||||
<div style="width:300px;height:200px;"></div>
|
||||
</template>
|
||||
</lay-dropdown>
|
||||
|
||||
<lay-dropdown placement="top">
|
||||
<lay-dropdown placement="top" updateAtScroll>
|
||||
<lay-button type="primary">top</lay-button>
|
||||
<template #content>
|
||||
<div style="width:300px;height:200px;"></div>
|
||||
</template>
|
||||
</lay-dropdown>
|
||||
|
||||
<lay-dropdown placement="top-right">
|
||||
<lay-dropdown placement="top-right" updateAtScroll>
|
||||
<lay-button type="primary">topRight</lay-button>
|
||||
<template #content>
|
||||
<div style="width:300px;height:200px;"></div>
|
||||
</template>
|
||||
</lay-dropdown>
|
||||
|
||||
<lay-dropdown placement="bottom-left">
|
||||
<lay-dropdown placement="bottom-left" updateAtScroll>
|
||||
<lay-button type="primary">bottomLeft</lay-button>
|
||||
<template #content>
|
||||
<div style="width:300px;height:200px;"></div>
|
||||
</template>
|
||||
</lay-dropdown>
|
||||
|
||||
<lay-dropdown placement="bottom">
|
||||
<lay-dropdown placement="bottom" updateAtScroll>
|
||||
<lay-button type="primary">bottom</lay-button>
|
||||
<template #content>
|
||||
<div style="width:300px;height:200px;"></div>
|
||||
</template>
|
||||
</lay-dropdown>
|
||||
|
||||
<lay-dropdown placement="bottom-right">
|
||||
<lay-dropdown placement="bottom-right" updateAtScroll>
|
||||
<lay-button type="primary">bottomRight</lay-button>
|
||||
<template #content>
|
||||
<div style="width:300px;height:200px;"></div>
|
||||
@ -298,42 +298,42 @@ export default {
|
||||
</lay-dropdown>
|
||||
<br><br>
|
||||
|
||||
<lay-dropdown placement="right-top">
|
||||
<lay-dropdown placement="right-top" updateAtScroll>
|
||||
<lay-button type="primary">right-top</lay-button>
|
||||
<template #content>
|
||||
<div style="width:300px;height:200px;"></div>
|
||||
</template>
|
||||
</lay-dropdown>
|
||||
|
||||
<lay-dropdown placement="right">
|
||||
<lay-dropdown placement="right" updateAtScroll>
|
||||
<lay-button type="primary">right</lay-button>
|
||||
<template #content>
|
||||
<div style="width:300px;height:200px;"></div>
|
||||
</template>
|
||||
</lay-dropdown>
|
||||
|
||||
<lay-dropdown placement="right-bottom">
|
||||
<lay-dropdown placement="right-bottom" updateAtScroll>
|
||||
<lay-button type="primary">right-bottom</lay-button>
|
||||
<template #content>
|
||||
<div style="width:300px;height:200px;"></div>
|
||||
</template>
|
||||
</lay-dropdown>
|
||||
|
||||
<lay-dropdown placement="left-top">
|
||||
<lay-dropdown placement="left-top" updateAtScroll>
|
||||
<lay-button type="primary">left-top</lay-button>
|
||||
<template #content>
|
||||
<div style="width:300px;height:200px;"></div>
|
||||
</template>
|
||||
</lay-dropdown>
|
||||
|
||||
<lay-dropdown placement="left">
|
||||
<lay-dropdown placement="left" updateAtScroll>
|
||||
<lay-button type="primary">left</lay-button>
|
||||
<template #content>
|
||||
<div style="width:300px;height:200px;"></div>
|
||||
</template>
|
||||
</lay-dropdown>
|
||||
|
||||
<lay-dropdown placement="left-bottom">
|
||||
<lay-dropdown placement="left-bottom" updateAtScroll>
|
||||
<lay-button type="primary">left-bottom</lay-button>
|
||||
<template #content>
|
||||
<div style="width:300px;height:200px;"></div>
|
||||
@ -368,7 +368,7 @@ export default {
|
||||
::: demo
|
||||
|
||||
<template>
|
||||
<lay-dropdown>
|
||||
<lay-dropdown updateAtScroll>
|
||||
<lay-button type="primary">图标菜单</lay-button>
|
||||
<template #content>
|
||||
<lay-dropdown-menu>
|
||||
@ -413,7 +413,7 @@ export default {
|
||||
::: demo
|
||||
|
||||
<template>
|
||||
<lay-dropdown>
|
||||
<lay-dropdown updateAtScroll>
|
||||
<lay-button type="primary">下拉菜单</lay-button>
|
||||
<template #content>
|
||||
<lay-dropdown-menu>
|
||||
@ -435,7 +435,7 @@ export default {
|
||||
<lay-dropdown-menu-item>菜单3</lay-dropdown-menu-item>
|
||||
</template>
|
||||
</lay-dropdown-sub-menu>
|
||||
<lay-dropdown-sub-menu disabled>
|
||||
<lay-dropdown-sub-menu>
|
||||
<template #default>子菜单四</template>
|
||||
<template #content>
|
||||
<lay-dropdown-menu-item>菜单1</lay-dropdown-menu-item>
|
||||
@ -474,7 +474,7 @@ export default {
|
||||
::: demo
|
||||
|
||||
<template>
|
||||
<lay-dropdown placement="bottom-left" autoFitWidth>
|
||||
<lay-dropdown placement="bottom-left" autoFitWidth updateAtScroll>
|
||||
<lay-button type="primary">autoFitWidth</lay-button>
|
||||
<template #content>
|
||||
<lay-dropdown-menu>
|
||||
@ -485,7 +485,7 @@ export default {
|
||||
</template>
|
||||
</lay-dropdown>
|
||||
|
||||
<lay-dropdown placement="bottom-left" :autoFitMinWidth="false">
|
||||
<lay-dropdown placement="bottom-left" :autoFitMinWidth="false" updateAtScroll>
|
||||
<lay-button type="primary">关闭 autoFitMinWidth</lay-button>
|
||||
<template #content>
|
||||
<lay-dropdown-menu>
|
||||
@ -522,7 +522,7 @@ export default {
|
||||
<lay-button @click="triggerHeight += 100">改变触发器尺寸</lay-button>
|
||||
<lay-button @click="contentHeight += 100">改变面板尺寸</lay-button>
|
||||
<br><br>
|
||||
<lay-dropdown placement="bottom-left" trigger="focus" :autoFitPosition="true" :autoFixPosition="true" :blurToClose="false" :clickOutsideToClose="false">
|
||||
<lay-dropdown placement="bottom-left" trigger="focus" :autoFitPosition="true" :autoFixPosition="true" :blurToClose="false" :clickOutsideToClose="false" updateAtScroll>
|
||||
<lay-input placeholder="autoFixPosition" :style="{height: triggerHeight + 'px'}"></lay-input>
|
||||
<template #content>
|
||||
<div :style="{width:'350px', height: contentHeight + 'px'}"></div>
|
||||
|
@ -464,6 +464,12 @@ export default {
|
||||
<lay-menu-item id="5">
|
||||
<template #title>菜单一</template>
|
||||
</lay-menu-item>
|
||||
<lay-sub-menu>
|
||||
<template #title>首页</template>
|
||||
<lay-menu-item id="7">
|
||||
<template #title>首页</template>
|
||||
</lay-menu-item>
|
||||
</lay-sub-menu>
|
||||
<lay-sub-menu id="6">
|
||||
<template #title>首页</template>
|
||||
<lay-menu-item id="7">
|
||||
|
Loading…
x
Reference in New Issue
Block a user