2021-12-29 16:44:43 +00:00
|
|
|
::: anchor
|
|
|
|
:::
|
|
|
|
|
2022-02-05 21:20:07 +00:00
|
|
|
::: title 基本介绍
|
|
|
|
:::
|
|
|
|
|
|
|
|
::: describe 当页面上的操作命令过多时,用此组件可以收纳操作元素。
|
|
|
|
:::
|
|
|
|
|
2021-10-25 17:13:23 +00:00
|
|
|
::: title 基础使用
|
2021-10-19 14:28:44 +00:00
|
|
|
:::
|
|
|
|
|
2021-10-06 15:22:30 +00:00
|
|
|
::: demo
|
|
|
|
|
|
|
|
<template>
|
2021-10-06 18:03:35 +00:00
|
|
|
<lay-dropdown>
|
2021-10-26 18:04:47 +00:00
|
|
|
<lay-button type="primary">下拉菜单</lay-button>
|
2021-10-06 18:03:35 +00:00
|
|
|
<template #content>
|
2022-03-19 05:02:52 +00:00
|
|
|
<lay-dropdown-menu>
|
|
|
|
<lay-dropdown-menu-item>选项一</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项二</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项三</lay-dropdown-menu-item>
|
|
|
|
</lay-dropdown-menu>
|
2021-10-06 18:03:35 +00:00
|
|
|
</template>
|
|
|
|
</lay-dropdown>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import { ref } from 'vue'
|
|
|
|
|
|
|
|
export default {
|
|
|
|
setup() {
|
|
|
|
|
|
|
|
return {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
:::
|
|
|
|
|
2021-10-25 17:13:23 +00:00
|
|
|
::: title 触发方式
|
2021-10-19 14:28:44 +00:00
|
|
|
:::
|
|
|
|
|
2021-10-06 18:03:35 +00:00
|
|
|
::: demo
|
|
|
|
|
|
|
|
<template>
|
2021-10-06 19:24:53 +00:00
|
|
|
<lay-dropdown trigger="hover">
|
2021-10-06 18:03:35 +00:00
|
|
|
<lay-button>Hover 触发</lay-button>
|
|
|
|
<template #content>
|
2022-03-19 05:02:52 +00:00
|
|
|
<lay-dropdown-menu>
|
|
|
|
<lay-dropdown-menu-item>选项一</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项二</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项三</lay-dropdown-menu-item>
|
|
|
|
</lay-dropdown-menu>
|
2021-10-06 18:03:35 +00:00
|
|
|
</template>
|
|
|
|
</lay-dropdown>
|
|
|
|
|
|
|
|
<lay-dropdown>
|
|
|
|
<lay-button>Click 触发</lay-button>
|
|
|
|
<template #content>
|
2022-03-19 05:02:52 +00:00
|
|
|
<lay-dropdown-menu>
|
|
|
|
<lay-dropdown-menu-item>选项一</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项二</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项三</lay-dropdown-menu-item>
|
|
|
|
</lay-dropdown-menu>
|
2021-10-06 18:03:35 +00:00
|
|
|
</template>
|
|
|
|
</lay-dropdown>
|
2022-04-21 08:02:29 +00:00
|
|
|
|
|
|
|
<lay-dropdown trigger="contextMenu">
|
|
|
|
<lay-button>contextMenu 触发</lay-button>
|
|
|
|
<template #content>
|
|
|
|
<lay-dropdown-menu>
|
|
|
|
<lay-dropdown-menu-item>选项一</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项二</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项三</lay-dropdown-menu-item>
|
|
|
|
</lay-dropdown-menu>
|
|
|
|
</template>
|
2022-06-24 06:33:48 +00:00
|
|
|
</lay-dropdown>
|
|
|
|
|
|
|
|
<lay-dropdown trigger="focus">
|
|
|
|
<lay-input placeholder="Focus 触发"></lay-input>
|
|
|
|
<template #content>
|
|
|
|
<lay-dropdown-menu>
|
|
|
|
<lay-dropdown-menu-item>选项一</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项二</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项三</lay-dropdown-menu-item>
|
|
|
|
</lay-dropdown-menu>
|
|
|
|
</template>
|
|
|
|
</lay-dropdown>
|
|
|
|
|
|
|
|
<lay-dropdown :trigger="['hover','focus','click']">
|
|
|
|
<lay-input placeholder="hover focus click"></lay-input>
|
|
|
|
<template #content>
|
|
|
|
<lay-dropdown-menu>
|
|
|
|
<lay-dropdown-menu-item>选项一</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项二</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项三</lay-dropdown-menu-item>
|
|
|
|
</lay-dropdown-menu>
|
|
|
|
</template>
|
2022-04-21 08:02:29 +00:00
|
|
|
</lay-dropdown>
|
2021-10-06 15:22:30 +00:00
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import { ref } from 'vue'
|
|
|
|
|
|
|
|
export default {
|
|
|
|
setup() {
|
|
|
|
|
|
|
|
return {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
2022-06-24 06:33:48 +00:00
|
|
|
:::
|
|
|
|
|
|
|
|
::: title 手动打开或关闭
|
|
|
|
:::
|
2021-10-06 15:22:30 +00:00
|
|
|
|
2022-06-24 06:33:48 +00:00
|
|
|
::: demo
|
|
|
|
|
|
|
|
<template>
|
|
|
|
<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-button type="primary">下拉菜单</lay-button>
|
|
|
|
<template #content>
|
|
|
|
<lay-dropdown-menu>
|
|
|
|
<lay-dropdown-menu-item>选项一</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项二</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项三</lay-dropdown-menu-item>
|
|
|
|
</lay-dropdown-menu>
|
|
|
|
</template>
|
|
|
|
</lay-dropdown>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import { ref } from 'vue'
|
|
|
|
|
|
|
|
export default {
|
|
|
|
setup() {
|
|
|
|
const manualRef = ref()
|
|
|
|
|
|
|
|
return {
|
|
|
|
manualRef,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
2022-04-04 02:05:27 +00:00
|
|
|
|
2022-04-04 02:23:49 +00:00
|
|
|
:::
|
2022-06-24 06:33:48 +00:00
|
|
|
|
|
|
|
::: title 默认打开
|
|
|
|
:::
|
|
|
|
|
|
|
|
::: demo
|
|
|
|
|
|
|
|
<template>
|
|
|
|
<lay-dropdown :visible="true" updateAtScroll>
|
|
|
|
<lay-button type="primary">下拉菜单</lay-button>
|
|
|
|
<template #content>
|
|
|
|
<lay-dropdown-menu>
|
|
|
|
<lay-dropdown-menu-item>选项一</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项二</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项三</lay-dropdown-menu-item>
|
|
|
|
</lay-dropdown-menu>
|
|
|
|
</template>
|
|
|
|
</lay-dropdown>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import { ref } from 'vue'
|
|
|
|
|
|
|
|
export default {
|
|
|
|
setup() {
|
|
|
|
|
|
|
|
return {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
:::
|
|
|
|
|
|
|
|
|
2022-04-04 02:05:27 +00:00
|
|
|
::: title 禁用弹出
|
|
|
|
:::
|
|
|
|
|
|
|
|
::: demo
|
|
|
|
|
|
|
|
<template>
|
2022-04-04 02:23:49 +00:00
|
|
|
<lay-dropdown disabled>
|
|
|
|
<lay-button type="primary" >禁用弹出</lay-button>
|
2022-04-04 02:05:27 +00:00
|
|
|
<template #content>
|
|
|
|
<lay-dropdown-menu>
|
|
|
|
<lay-dropdown-menu-item>选项一</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项二</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项三</lay-dropdown-menu-item>
|
|
|
|
</lay-dropdown-menu>
|
|
|
|
</template>
|
|
|
|
</lay-dropdown>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import { ref } from 'vue'
|
|
|
|
|
|
|
|
export default {
|
|
|
|
setup() {
|
|
|
|
|
|
|
|
return {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
2022-04-04 02:23:49 +00:00
|
|
|
|
|
|
|
:::
|
|
|
|
::: title 事件处理
|
|
|
|
:::
|
|
|
|
|
|
|
|
::: demo
|
|
|
|
|
|
|
|
<template>
|
|
|
|
<lay-dropdown @open="stat='开启'" @hide="stat='关闭'">
|
|
|
|
<lay-button type="primary" >当前状态:{{stat}}</lay-button>
|
|
|
|
<template #content>
|
|
|
|
<lay-dropdown-menu>
|
|
|
|
<lay-dropdown-menu-item>选项一</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项二</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项三</lay-dropdown-menu-item>
|
|
|
|
</lay-dropdown-menu>
|
|
|
|
</template>
|
|
|
|
</lay-dropdown>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import { ref } from 'vue'
|
|
|
|
|
|
|
|
export default {
|
|
|
|
setup() {
|
|
|
|
const stat=ref("关闭")
|
|
|
|
return {
|
|
|
|
stat
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
2021-10-07 16:17:34 +00:00
|
|
|
:::
|
|
|
|
|
2022-06-24 06:33:48 +00:00
|
|
|
::: title 弹出位置
|
2022-06-07 12:26:03 +00:00
|
|
|
:::
|
|
|
|
|
|
|
|
::: demo
|
|
|
|
|
|
|
|
<template>
|
2022-06-22 05:08:48 +00:00
|
|
|
<lay-dropdown placement="top-left">
|
|
|
|
<lay-button type="primary">topLeft</lay-button>
|
|
|
|
<template #content>
|
|
|
|
<div style="width:300px;height:200px;"></div>
|
|
|
|
</template>
|
|
|
|
</lay-dropdown>
|
|
|
|
|
|
|
|
<lay-dropdown placement="top">
|
|
|
|
<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-button type="primary">topRight</lay-button>
|
|
|
|
<template #content>
|
|
|
|
<div style="width:300px;height:200px;"></div>
|
|
|
|
</template>
|
|
|
|
</lay-dropdown>
|
|
|
|
|
|
|
|
<lay-dropdown placement="bottom-left">
|
|
|
|
<lay-button type="primary">bottomLeft</lay-button>
|
|
|
|
<template #content>
|
|
|
|
<div style="width:300px;height:200px;"></div>
|
|
|
|
</template>
|
|
|
|
</lay-dropdown>
|
|
|
|
|
|
|
|
<lay-dropdown placement="bottom">
|
|
|
|
<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-button type="primary">bottomRight</lay-button>
|
2022-06-07 12:26:03 +00:00
|
|
|
<template #content>
|
|
|
|
<div style="width:300px;height:200px;"></div>
|
|
|
|
</template>
|
|
|
|
</lay-dropdown>
|
2022-06-24 06:33:48 +00:00
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import { ref } from 'vue'
|
|
|
|
|
|
|
|
export default {
|
|
|
|
setup() {
|
|
|
|
|
|
|
|
const btnSize = ref('')
|
|
|
|
const toogleSize = () => {
|
|
|
|
btnSize.value = btnSize.value ? '' : 'lg'
|
|
|
|
}
|
|
|
|
|
|
|
|
return {
|
|
|
|
btnSize,
|
|
|
|
toogleSize
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
:::
|
|
|
|
|
|
|
|
::: title 其它属性
|
|
|
|
:::
|
|
|
|
|
|
|
|
::: demo
|
|
|
|
|
|
|
|
<template>
|
|
|
|
<lay-dropdown placement="bottom-left" autoFitWidth>
|
2022-06-22 13:06:47 +00:00
|
|
|
<lay-button type="primary">autoFitWidth</lay-button>
|
2022-06-22 05:08:48 +00:00
|
|
|
<template #content>
|
|
|
|
<lay-dropdown-menu>
|
|
|
|
<lay-dropdown-menu-item>选项一</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项二1111111111111111111111</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项三</lay-dropdown-menu-item>
|
|
|
|
</lay-dropdown-menu>
|
|
|
|
</template>
|
|
|
|
</lay-dropdown>
|
|
|
|
|
|
|
|
<lay-dropdown placement="bottom-left" :autoFitMinWidth="false">
|
|
|
|
<lay-button type="primary">关闭 autoFitMinWidth</lay-button>
|
|
|
|
<template #content>
|
|
|
|
<lay-dropdown-menu>
|
|
|
|
<lay-dropdown-menu-item>选项一</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项二111111111</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项三</lay-dropdown-menu-item>
|
|
|
|
</lay-dropdown-menu>
|
|
|
|
</template>
|
|
|
|
</lay-dropdown>
|
2022-06-22 13:06:47 +00:00
|
|
|
|
|
|
|
<lay-dropdown placement="bottom-left" updateAtScroll>
|
|
|
|
<lay-button type="primary">updateAtScroll</lay-button>
|
|
|
|
<template #content>
|
|
|
|
<lay-dropdown-menu>
|
|
|
|
<lay-dropdown-menu-item>选项一</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项二111111111</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项三</lay-dropdown-menu-item>
|
|
|
|
</lay-dropdown-menu>
|
|
|
|
</template>
|
|
|
|
</lay-dropdown>
|
|
|
|
|
2022-06-22 13:43:04 +00:00
|
|
|
<lay-dropdown placement="bottom-left" updateAtScroll :contentOffset="8">
|
|
|
|
<lay-button type="primary">contentOffset: 8px</lay-button>
|
|
|
|
<template #content>
|
|
|
|
<lay-dropdown-menu>
|
|
|
|
<lay-dropdown-menu-item>选项一</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项二</lay-dropdown-menu-item>
|
|
|
|
<lay-dropdown-menu-item>选项三</lay-dropdown-menu-item>
|
|
|
|
</lay-dropdown-menu>
|
|
|
|
</template>
|
|
|
|
</lay-dropdown>
|
|
|
|
|
2022-06-24 06:33:48 +00:00
|
|
|
<br><br>
|
|
|
|
<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-input placeholder="autoFixPosition" :style="{height: triggerHeight + 'px'}"></lay-input>
|
2022-06-22 13:06:47 +00:00
|
|
|
<template #content>
|
2022-06-24 06:33:48 +00:00
|
|
|
<div :style="{width:'350px', height: contentHeight + 'px'}"></div>
|
2022-06-22 13:06:47 +00:00
|
|
|
</template>
|
|
|
|
</lay-dropdown>
|
2022-06-07 12:26:03 +00:00
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
2022-06-24 06:33:48 +00:00
|
|
|
import { ref, computed } from 'vue'
|
2022-06-07 12:26:03 +00:00
|
|
|
|
|
|
|
export default {
|
|
|
|
setup() {
|
|
|
|
|
2022-06-22 13:06:47 +00:00
|
|
|
const btnSize = ref('')
|
|
|
|
const toogleSize = () => {
|
|
|
|
btnSize.value = btnSize.value ? '' : 'lg'
|
|
|
|
}
|
|
|
|
|
2022-06-24 06:33:48 +00:00
|
|
|
const triggerHeight = ref(100)
|
|
|
|
const contentHeight = ref(200)
|
|
|
|
|
2022-06-07 12:26:03 +00:00
|
|
|
return {
|
2022-06-22 13:06:47 +00:00
|
|
|
btnSize,
|
2022-06-24 06:33:48 +00:00
|
|
|
toogleSize,
|
|
|
|
triggerWidth,
|
|
|
|
triggerStyle,
|
2022-06-07 12:26:03 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
:::
|
|
|
|
|
2022-01-09 17:17:03 +00:00
|
|
|
::: title Dropdown 属性
|
2021-10-13 02:19:38 +00:00
|
|
|
:::
|
2021-10-12 10:00:09 +00:00
|
|
|
|
2021-11-07 07:55:08 +00:00
|
|
|
::: table
|
|
|
|
|
2021-10-31 17:02:21 +00:00
|
|
|
| 属性 | 描述 | 可选值 |
|
|
|
|
| ------- | -------- | --------------- |
|
2022-06-23 16:51:41 +00:00
|
|
|
| visible | 下拉面板是否可见 |`true` `false`|
|
|
|
|
| trigger | 触发方式,类型 `string` 或 trigger 数组 | `click` `hover` `focus` `contextMenu` |
|
2022-04-04 02:05:27 +00:00
|
|
|
| disabled | 是否禁用触发 | `true` `false` |
|
2022-06-22 05:08:48 +00:00
|
|
|
| placement | 下拉面板位置 |`top` `top-left` `top-right` `bottom` `bottom-left` `bottom-right`|
|
2022-06-23 16:51:41 +00:00
|
|
|
| autoFitPosition| 是否自动调整下拉面板位置,默认 `true` |`true` `false` |
|
|
|
|
| autoFitWidth | 是否将下拉面板宽度设置为触发器宽度, 默认 `false` |`true` `false` |
|
|
|
|
| autoFitMinWidth | 是否将下拉面板最小宽度设置为触发器宽度, 默认 `true` |`true` `false` |
|
2022-06-22 13:06:47 +00:00
|
|
|
| updateAtScroll | 是否在容器滚动时更新下拉面板的位置,默认 `false` | `true` `false` |
|
2022-06-24 06:33:48 +00:00
|
|
|
| autoFixPosition | 是否在触发器或下拉面板尺寸变化时更新下拉面板位置,<br>面板尺寸变化参见级联选择器,默认 `true` |`true` `false` |
|
|
|
|
| clickToClose | 是否在点击触发器时关闭面板,默认 `true` |`true` `false`|
|
|
|
|
| blurToClose | 是否在触发器失去焦点时关闭面板,默认 `true` |`true` `false`|
|
2022-06-23 16:51:41 +00:00
|
|
|
| clickOutsideToClose| 是否点击外部关闭下拉面板,默认 `true`|`true` `false`|
|
2022-06-22 13:43:04 +00:00
|
|
|
| contentOffset | 下拉面板距离触发器的偏移距离,默认 2| -|
|
2022-06-22 05:08:48 +00:00
|
|
|
|
2021-10-20 13:48:05 +00:00
|
|
|
|
2021-11-07 07:55:08 +00:00
|
|
|
:::
|
|
|
|
|
2022-01-09 17:17:03 +00:00
|
|
|
::: title Dropdown 插槽
|
2021-10-20 13:48:05 +00:00
|
|
|
:::
|
|
|
|
|
2021-11-07 07:55:08 +00:00
|
|
|
::: table
|
|
|
|
|
2021-10-31 17:02:21 +00:00
|
|
|
| 插槽 | 描述 | 可选值 |
|
|
|
|
| ------- | -------- | ------ |
|
|
|
|
| content | 下拉内容 | -- |
|
2021-11-07 07:55:08 +00:00
|
|
|
|
2021-11-07 07:56:24 +00:00
|
|
|
:::
|
2021-12-16 09:57:59 +00:00
|
|
|
|
2022-03-29 23:44:37 +00:00
|
|
|
|
2022-04-04 02:23:49 +00:00
|
|
|
::: title Dropdown 事件
|
|
|
|
:::
|
|
|
|
|
|
|
|
::: table
|
|
|
|
|
|
|
|
| 插槽 | 描述 | 参数 |
|
|
|
|
| ------- | -------- | ------ |
|
|
|
|
| hide | 隐藏下拉内容后触发 | -- |
|
|
|
|
| open | 显示下拉内容后触发 | -- |
|
|
|
|
|
|
|
|
:::
|
2022-01-12 06:19:06 +00:00
|
|
|
|
2022-06-23 12:27:50 +00:00
|
|
|
|
|
|
|
::: contributor dropdown
|
|
|
|
:::
|
|
|
|
|
2022-01-12 06:19:06 +00:00
|
|
|
::: previousNext dropdown
|
2021-12-16 09:57:59 +00:00
|
|
|
:::
|