# Dropdown 下拉框
提示
该组件与 @lateinos/awesome-ui
中的 H3Dropdown
有较大的变化,具体变化在把选择显示框提取出来,成为一个单独的 H3ComboBox
组件,同时移除了挂载在 H3Dropdown
上的 SingleItem
,MultipleItem
组件,将其统一合并成 H3ComboOpitons
组件,同时挂载到 H3ComboBox.Opitons
上
# 引入
import { H3Dropdown } from '@lateinos/awesome-ui';
export default {
components: {
H3Dropdown,
},
};
# 示例
# 基本下拉框
# 自定义触发区域
# 带箭头
# 复用
建议
更多使用场景及技巧可参考H3ComboBox与H3Dropdown
结合使用的示例
# API
# Prop
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
visible | 手动控制是否隐藏及显示,请与event:toggle 或 event:show event:hide 联动使用 | boolean | false |
placement | 下拉框位置/^(auto|top|bottom|left|right)(-start|-end)?$/ | string | 'bottom-start' |
sameWidth | 下拉框是否和组合框一样宽 | boolean | false |
autoHide | 当触发区域不在可视区域时, 弹窗是否自动隐藏 | boolean | true |
arrow | 是否显示箭头,箭头始终指向参考点的中心,一旦不再指向参考点,它就会移开,popper的实现 (opens new window) | boolean | false |
trigger | 触发弹窗弹出的元素 | Element | Function | - |
control | 是否禁用自动隐藏,若设置true 点击弹窗外面不会自动隐藏,请通过visible 控制 | boolean | false |
controlCls | 若弹窗中会出现弹窗,而不想点击次级弹窗时关闭弹窗则可以添加该prop,来控制有该class的元素及其子元素点击不会关闭 | string | string[] | - |
overlayCls | 自定义下拉框类名 | string | - |
offset | 与 reference 的[偏移, 间距] | Array | Function => [] | - |
zIndex | 自定义 z-index | string | number | - |
subTrigger | 是否由prop:trigger 元素的子元素触发,一般用于项数过多换行,点击空白触发弹窗, 或者是函数 (triggerEl, evtTarget): boolean | boolean|function | false |
appendToBody | 是否将下拉框移动到body上,优先级低于getParentContainer | boolean | true |
getParentContainer | 将下拉框移动到某个指定DOM元素上,优先级高于appendToBody ,函数必须返回一个DOM元素 | Function | - |
getBoundaryContainer | 将下拉框限制在某个指定DOM元素范围内显示,函数必须返回一个DOM元素 | Function | - |
# Event
事件名称 | 说明 | 回调参数 |
---|---|---|
toggle | 下拉框显示隐藏切换时触发 | visible: boolean |
show | 下拉框显示时触发 | - |
hide | 下拉框隐藏时触发 | - |
contentFocus | 下拉框鼠标移入时触发 | - |
contentBlur | 下拉框鼠标移出时触发 | - |
# Function
- 实例方法
方法名 | 说明 | 参数 |
---|---|---|
forcePopupAlign | 在显示区域大小有变化时可调用,重新校正下拉框的位置, 可以控制以当前朝向校正 | currPlacement: boolean |
popperToggle | 函数式切换隐藏或显示 | (reference: 要相对的元素 若传入null则隐藏, listeners: {show: () => {} 显示前回调, afterHide: () => {} 隐藏后回调}) |
# Slots
插槽名 | 说明 | SlotProps |
---|---|---|
default | 触发下拉框区域插槽 | - |
content | 下拉框区域插槽 | - |