菜单

下拉操作 AsamDropdown

将次要操作收纳在可触发的菜单中。

使用场景 ​

将次要操作收纳在可触发的菜单中。

组合菜单、图标与公开方法 ​

显式菜单容器与项目共同运行,支持鼠标和键盘选择。

组合菜单、图标与公开方法

展开源码

四档控件密度 ​

逐个打开四档菜单,观察对应菜单密度。

四档控件密度

展开源码

使用约定 ​

默认 wrapMenu=false 原样透传 dropdown 插槽。 完整说明。

完整用法 ​

以下用法使用本库公开入口。每个示例提供完整 TS/JS SFC,参数、事件、插槽和实例类型见本页 API。服务实例由创建方负责关闭;HTML 内容仅用于调用方已知的可信字符串。

显隐与关闭守卫 ​

显隐与关闭守卫

展开源码

定位方向 ​

定位方向

展开源码

完整交互:triggering-element ​

完整交互:triggering-element

展开源码

完整交互:how-to-trigger ​

完整交互:how-to-trigger

展开源码

完整交互:menu-hiding-behavior ​

完整交互:menu-hiding-behavior

展开源码

菜单命令 ​

菜单命令

展开源码

实例打开与关闭 ​

实例打开与关闭

展开源码

完整交互:sizes ​

完整交互:sizes

展开源码

虚拟触发目标 ​

虚拟触发目标

展开源码

组合职责与生命周期 ​

默认 dropdown 插槽提供原生菜单容器;显式 wrapMenu=true 时自动建立菜单容器,手动使用 AsamDropdownMenu 时设 wrapMenu=false,避免嵌套菜单。 完整说明。

官方示例默认值适配 ​

AsamDropdown 的默认 trigger 为原生 hover;需要点击时显式设置 trigger="click"。 完整说明。

局部与全局挂载 ​

切换公开挂载参数后,再打开浮层观察内容位于当前组件附近或挂载到 body。 开关显示当前模式,两个模式均可操作;关闭后可以再次切换。

局部与全局挂载

展开源码

API

属性 AsamDropdownProps

属性名说明类型默认值
trigger触发下拉的行为enum"hover" | "click" | "contextmenu"完整类型:(AsamDropdownProps)["trigger"]—
triggerKeys指定键盘上哪些按键可以触发操作string[] | undefined—
virtualTriggering用来标识虚拟触发是否被启用boolean | undefined—
virtualRef指示下拉框所依附的参考元素(AsamDropdownProps)["virtualRef"]—
effectTooltip 主题,内置了 dark / light 两种enum"light" | "dark"完整类型:(AsamDropdownProps)["effect"]—
type菜单按钮类型,同 Button 组件一样,仅在 split-button 为 true 的情况下有效。enum"" | "default" | "text" | "primary" | "success" | "danger" | "warning" | "info"完整类型:(AsamDropdownProps)["type"]—
placement菜单弹出位置enum"auto" | "auto-start" | "auto-end" | "top" | "bottom" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end"完整类型:(AsamDropdownProps)["placement"]—
popperOptionsPopper 配置参数。(AsamDropdownProps)["popperOptions"]—
id—string | undefined—
splitButton下拉触发元素呈现为按钮组boolean | undefined—
hideOnClick是否在点击菜单项后隐藏菜单(AsamDropdownProps)["hideOnClick"]—
loop—(AsamDropdownProps)["loop"]—
showArrowtooltip 的内容是否有箭头(AsamDropdownProps)["showArrow"]—
showTimeout展开下拉菜单的延时,仅在 trigger 为 hover 时有效number | undefined—
hideTimeout收起下拉菜单的延时(仅在 trigger 为 hover 时有效)number | undefined—
tabindex下拉菜单的原生 tabindex。(AsamDropdownProps)["tabindex"]—
maxHeight菜单最大高度(AsamDropdownProps)["maxHeight"]—
popperClass自定义浮层类名AsamDropdownProps["popperClass"]—
popperStyle自定义浮层类名import("vue").StyleValue—
disabled是否禁用boolean | undefined—
role下拉菜单的 ARIA 属性。根据具体场景,您可能想要将此更改为“navigation”enum"group" | "dialog" | "grid" | "listbox" | "menu" | "navigation" | "tooltip" | "tree"完整类型:(AsamDropdownProps)["role"]—
buttonProps按钮组件参数,参阅按钮参数表。(AsamDropdownProps)["buttonProps"]—
teleported是否将下拉列表插入至 body 元素(AsamDropdownProps)["teleported"]—
appendTodropdown 的内容将挂载到哪一个元素上(AsamDropdownProps)["appendTo"]—
persistent当下拉菜单处于非活动状态且 persistent 为 false 时,下拉菜单将被销毁(AsamDropdownProps)["persistent"]—
size菜单尺寸,在 split-button 为 true 的情况下也对触发按钮生效。enum"large" | "big" | "default" | "small"完整类型:AsamControlSize | undefined—
wrapMenu显式 ASAM 菜单组合;省略或 false 时原样透传原生下拉插槽。boolean | undefinedfalse
zIndex—number | undefined—

事件 AsamDropdownEmits

属性名说明类型默认值
command—[command: string | number | object, instance: ComponentInternalInstance | null, event: PointerEvent | KeyboardEvent]—
click—[event: MouseEvent]—
visible-change—[visible: boolean]—
visibleChange—[visible: boolean]—

插槽 AsamDropdownSlots

属性名说明类型默认值
default—() => unknown—
dropdown—() => unknown—

实例方法与状态 AsamDropdownExpose

属性名说明类型默认值
open—() => void—
close—() => void—
popperRef—(AsamDropdownExpose)["popperRef"]—
ns—(AsamDropdownExpose)["ns"]—
t—AsamDropdownExpose["t"]—
wrapStyle—(AsamDropdownExpose)["wrapStyle"]—
handleClose—() => void—
triggerId—string—
contentRef—HTMLElement | undefined—
handleOpen—() => void—
scrollbar—null—
dropdownTriggerKls—string[]—
dropdownSize—enum"" | "large" | "default" | "small"完整类型:"" | "large" | "default" | "small"—
currentTabId—string | null—
handleCurrentTabIdChange—(id: string) => void—
handlerMainButtonClick—(event: MouseEvent) => void—
handleBeforeShowTooltip—() => void—
handleShowTooltip—(event?: Event) => void—
handleBeforeHideTooltip—() => void—
triggeringElementRef—any—
referenceElementRef—any—

类型 AsamDropdownTrigger

用法与契约补充说明 ​

使用约定 ​

默认 wrapMenu=false 原样透传 dropdown 插槽。直接提供 AsamDropdownItem 时显式设置 wrapMenu=true;传入 AsamDropdownMenu 时保持 false。command 保留命令、项目实例和触发事件。支持 click/hover/contextmenu、splitButton、禁用、显隐延时、位置和浮层配置;open/close 是 ASAM 便捷方法,handleOpen/handleClose 等公开方法仍按 API 使用。 控件密度支持 large/big/default/small;省略时遵循最近 group、Form、ConfigProvider 的顺序,显式 prop 优先。

组合职责与生命周期 ​

默认 dropdown 插槽提供原生菜单容器;显式 wrapMenu=true 时自动建立菜单容器,手动使用 AsamDropdownMenu 时设 wrapMenu=false,避免嵌套菜单。splitButton 的左按钮触发 click,右触发器展开菜单;trigger、triggerKeys、loop 和 tabindex 管理鼠标与键盘入口。command 保留 command、item 与 Event 三个参数,visible-change 通知显隐。hideOnClick 决定选择后关闭,disabled 不执行命令。handleOpen/handleClose 是实时实例方法。virtualTriggering 配合 virtualRef 使用外部或坐标触发器,placement/offset/popperOptions 控制定位,teleported/appendTo 控制挂载。size 使用 large/big/default/small 四档控件密度。

官方示例默认值适配 ​

AsamDropdown 的默认 trigger 为原生 hover;需要点击时显式设置 trigger="click"。悬停分支须显式设置 trigger="hover";点击和右键分支分别使用 click、contextmenu。本页定位示例显式使用 bottom 或各个方向;组件默认 placement 为原生 bottom。显式使用 AsamDropdownMenu 时设置 wrapMenu=false。

参数与事件补充说明

参数与事件说明

trigger

必填:否;声明来源:ASAM 声明。

trigger 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:"hover" / "click" / "contextmenu"

默认值与来源
未知 / 未声明

固定上游文档默认:hover(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)

triggerKeys

必填:否;声明来源:ASAM 声明。

默认值与来源
未知 / 未声明

固定上游文档默认:`['Enter', 'Space', 'ArrowDown', 'NumpadEnter']`(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码工厂(未执行):() => [ EVENT_CODE.enter, EVENT_CODE.numpadEnter, EVENT_CODE.space, EVENT_CODE.down, ](2.14.7;源码事实,未作为 ASAM 运行实测)

virtualTriggering

必填:否;声明来源:ASAM 声明。

virtualTriggering 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:false / true

默认值与来源
未知 / 未声明

固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

virtualRef

必填:否;声明来源:ASAM 声明。

virtualRef 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

  • virtualRef.getBoundingClientRect: () => DOMRect — 上游声明

    事件参数:(): DOMRect

默认值与来源
未知 / 未声明

固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

effect

必填:否;声明来源:ASAM 声明。

effect 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:"light" / "dark"

默认值与来源
未知 / 未声明

固定上游文档默认:light(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

type

必填:否;声明来源:ASAM 声明。

type 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:"" / "default" / "text" / "primary" / "success" / "danger" / "warning" / "info"

默认值与来源
未知 / 未声明

固定上游文档默认:''(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)

placement

必填:否;声明来源:ASAM 声明。

placement 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:"auto" / "auto-start" / "auto-end" / "top" / "bottom" / "right" / "left" / "top-start" / "top-end" / "bottom-start" / "bottom-end" / "right-start" / "right-end" / "left-start" / "left-end"

默认值与来源
未知 / 未声明

固定上游文档默认:bottom(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:'bottom'(2.14.7;源码事实,未作为 ASAM 运行实测)

popperOptions

必填:否;声明来源:ASAM 声明。

popperOptions 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

  • popperOptions.placement: PublicMember<NonNullable<(AsamDropdownProps)["popperOptions"]>, "placement"> — 依赖声明

    枚举:"auto" / "auto-start" / "auto-end" / "top" / "bottom" / "right" / "left" / "top-start" / "top-end" / "bottom-start" / "bottom-end" / "right-start" / "right-end" / "left-start" / "left-end"

  • popperOptions.modifiers: PublicMember<NonNullable<(AsamDropdownProps)["popperOptions"]>, "modifiers"> — 依赖声明
  • popperOptions.strategy: PublicMember<NonNullable<(AsamDropdownProps)["popperOptions"]>, "strategy"> — 依赖声明

    枚举:"fixed" / "absolute"

  • popperOptions.onFirstUpdate: PublicMember<NonNullable<(AsamDropdownProps)["popperOptions"]>, "onFirstUpdate"> — 依赖声明

    事件参数:(arg0: Parameters<Extract<NonNullable<PublicMember<NonNullable<(AsamDropdownProps)["popperOptions"]>, "onFirstUpdate">>, (...args: never[]) => unknown>>[0]): void

默认值与来源
未知 / 未声明

固定上游文档默认:`{modifiers: [{name: 'computeStyles',options: {gpuAcceleration: false}}]}`(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码工厂(未执行):() => ({})(2.14.7;源码事实,未作为 ASAM 运行实测)

id

必填:否;声明来源:ASAM 声明。

splitButton

必填:否;声明来源:ASAM 声明。

splitButton 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:false / true

默认值与来源
未知 / 未声明

固定上游文档默认:false(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

hideOnClick

必填:否;声明来源:ASAM 声明。

hideOnClick 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:false / true

默认值与来源
未知 / 未声明

固定上游文档默认:true(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:true(2.14.7;源码事实,未作为 ASAM 运行实测)

loop

必填:否;声明来源:ASAM 声明。

loop 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:false / true

默认值与来源
未知 / 未声明

固定上游源码默认表达式:true(2.14.7;源码事实,未作为 ASAM 运行实测)

showArrow

必填:否;声明来源:ASAM 声明。

showArrow 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:false / true

默认值与来源
未知 / 未声明

固定上游文档默认:true(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:true(2.14.7;源码事实,未作为 ASAM 运行实测)

showTimeout

必填:否;声明来源:ASAM 声明。

默认值与来源
未知 / 未声明

固定上游文档默认:150(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:150(2.14.7;源码事实,未作为 ASAM 运行实测)

hideTimeout

必填:否;声明来源:ASAM 声明。

默认值与来源
未知 / 未声明

固定上游文档默认:150(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:150(2.14.7;源码事实,未作为 ASAM 运行实测)

tabindex

必填:否;声明来源:ASAM 声明。

默认值与来源
未知 / 未声明

固定上游文档默认:0(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:0(2.14.7;源码事实,未作为 ASAM 运行实测)

maxHeight

必填:否;声明来源:ASAM 声明。

默认值与来源
未知 / 未声明

固定上游文档默认:''(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:''(2.14.7;源码事实,未作为 ASAM 运行实测)

popperClass

必填:否;声明来源:ASAM 声明。

popperClass 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:false

默认值与来源
未知 / 未声明

固定上游文档默认:''(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

popperStyle

必填:否;声明来源:ASAM 声明。

popperStyle 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:false

嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。

默认值与来源
未知 / 未声明

固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

disabled

必填:否;声明来源:ASAM 声明。

disabled 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:false / true

默认值与来源
未知 / 未声明

固定上游文档默认:false(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

role

必填:否;声明来源:ASAM 声明。

role 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:"group" / "dialog" / "grid" / "listbox" / "menu" / "navigation" / "tooltip" / "tree"

默认值与来源
未知 / 未声明

固定上游文档默认:menu(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:'menu'(2.14.7;源码事实,未作为 ASAM 运行实测)

buttonProps

必填:否;声明来源:ASAM 声明。

buttonProps 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

  • buttonProps.size: "" | "large" | "default" | "small" | undefined — 上游声明

    用于控制该按钮组内按钮的大小

    固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

    枚举:"" / "large" / "default" / "small"

  • buttonProps.disabled: boolean | undefined — 上游声明

    按钮已禁用

    固定上游文档默认:false(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

    枚举:false / true

  • buttonProps.type: "" | "default" | "text" | "primary" | "success" | "danger" | "warning" | "info" | undefined — 上游声明

    用于控制该按钮组内按钮的类型

    固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

    枚举:"" / "default" / "text" / "primary" / "success" / "danger" / "warning" / "info"

  • buttonProps.icon: PublicMember<NonNullable<(AsamDropdownProps)["buttonProps"]>, "icon"> — 上游声明

    自定义图标

    固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

    事件参数:(props: any, ctx: Parameters<Extract<NonNullable<PublicMember<NonNullable<(AsamDropdownProps)["buttonProps"]>, "icon">>, (...args: never[]) => unknown>>[1]): any

    • buttonProps.icon.__isFragment: undefined — 依赖声明
    • buttonProps.icon.__isTeleport: undefined — 依赖声明
    • buttonProps.icon.__isSuspense: undefined — 依赖声明
  • buttonProps.nativeType: "button" | "submit" | "reset" | undefined — 上游声明

    基础按钮的表单类型。

    固定上游文档默认:button(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

    枚举:"button" / "submit" / "reset"

  • buttonProps.loading: boolean | undefined — 上游声明

    自定义加载中组件

    固定上游文档默认:false(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

    枚举:false / true

  • buttonProps.loadingIcon: PublicMember<NonNullable<(AsamDropdownProps)["buttonProps"]>, "loadingIcon"> — 上游声明

    自定义加载中状态图标组件

    固定上游文档默认:Loading(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

    事件参数:(props: any, ctx: Parameters<Extract<NonNullable<PublicMember<NonNullable<(AsamDropdownProps)["buttonProps"]>, "loadingIcon">>, (...args: never[]) => unknown>>[1]): any

    • buttonProps.loadingIcon.__isFragment: undefined — 依赖声明
    • buttonProps.loadingIcon.__isTeleport: undefined — 依赖声明
    • buttonProps.loadingIcon.__isSuspense: undefined — 依赖声明
  • buttonProps.plain: boolean | undefined — 上游声明

    是否纯色

    固定上游文档默认:false(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

    枚举:false / true

  • buttonProps.text: boolean | undefined — 上游声明

    是否为文字按钮

    固定上游文档默认:false(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

    枚举:false / true

  • buttonProps.link: boolean | undefined — 上游声明

    是否为链接按钮

    固定上游文档默认:false(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

    枚举:false / true

  • buttonProps.bg: boolean | undefined — 上游声明

    是否显示文字按钮背景颜色

    固定上游文档默认:false(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

    枚举:false / true

  • buttonProps.autofocus: boolean | undefined — 上游声明

    基础按钮自动聚焦。

    固定上游文档默认:false(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

    枚举:false / true

  • buttonProps.round: boolean | undefined — 上游声明

    是否为圆角按钮

    固定上游文档默认:false(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

    枚举:false / true

  • buttonProps.circle: boolean | undefined — 上游声明

    是否为圆形按钮

    固定上游文档默认:false(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

    枚举:false / true

  • buttonProps.dashed: boolean | undefined — 上游声明

    是否是虚线按钮

    固定上游文档默认:false(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

    枚举:false / true

  • buttonProps.color: string | undefined — 上游声明

    自定义按钮颜色,并自动计算 hover 与 active 状态颜色。

    固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

  • buttonProps.dark: boolean | undefined — 上游声明

    dark 模式, 意味着自动设置 color 为 dark 模式的颜色

    固定上游文档默认:false(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

    枚举:false / true

  • buttonProps.autoInsertSpace: boolean | undefined — 上游声明

    自动在两个中文字符之间插入空格。

    固定上游文档默认:false(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

    枚举:false / true

  • buttonProps.tag: AsamDropdownItemProps["icon"] — 上游声明

    自定义元素标签

    固定上游文档默认:button(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

    事件参数:(props: any, ctx: Parameters<Extract<NonNullable<PublicMember<NonNullable<(AsamDropdownProps)["buttonProps"]>, "tag">>, (...args: never[]) => unknown>>[1]): any

    • buttonProps.tag.__isFragment: undefined — 依赖声明
    • buttonProps.tag.__isTeleport: undefined — 依赖声明
    • buttonProps.tag.__isSuspense: undefined — 依赖声明
默认值与来源
未知 / 未声明

固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码未声明 default(2.14.7;源码事实,未作为 ASAM 运行实测)

teleported

必填:否;声明来源:ASAM 声明。

teleported 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:false / true

默认值与来源
未知 / 未声明

固定上游文档默认:true(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

appendTo

必填:否;声明来源:ASAM 声明。

appendTo 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

嵌套展开边界:大型实例类型;完整类型见公开类型视图。

默认值与来源
未知 / 未声明

固定上游文档默认:未声明(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

persistent

必填:否;声明来源:ASAM 声明。

persistent 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:false / true

默认值与来源
未知 / 未声明

固定上游文档默认:true(2.14.7;文档事实,实际默认以 ASAM 源码 / 安装包为准)

固定上游源码默认表达式:true(2.14.7;源码事实,未作为 ASAM 运行实测)

size

必填:否;声明来源:ASAM 声明。

size 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:"large" / "big" / "default" / "small"

wrapMenu

必填:否;声明来源:ASAM 声明。

wrapMenu 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:false / true

默认值与来源
false(隐式 Boolean 默认;已安装组件)
zIndex

必填:否;声明来源:ASAM 声明。

AsamDropdownProps 公开类型视图
ts
import type { Attrs } from 'vue';
import type { AsamDropdownProps, AsamDropdownExpose, AsamDropdownItemProps, AsamControlSize } from '@asam-ui/ui';

type PublicMember<T, K extends PropertyKey> = T extends unknown ? K extends keyof T ? T[K] : never : never;

// AsamDropdownProps
type PublicContract = {
	"trigger"?: (AsamDropdownProps)["trigger"];
	"triggerKeys"?: string[] | undefined;
	"virtualTriggering"?: boolean | undefined;
	"virtualRef"?: (AsamDropdownProps)["virtualRef"];
	"effect"?: (AsamDropdownProps)["effect"];
	"type"?: (AsamDropdownProps)["type"];
	"placement"?: (AsamDropdownProps)["placement"];
	"popperOptions"?: (AsamDropdownProps)["popperOptions"];
	"id"?: string | undefined;
	"splitButton"?: boolean | undefined;
	"hideOnClick"?: (AsamDropdownProps)["hideOnClick"];
	"loop"?: (AsamDropdownProps)["loop"];
	"showArrow"?: (AsamDropdownProps)["showArrow"];
	"showTimeout"?: number | undefined;
	"hideTimeout"?: number | undefined;
	"tabindex"?: (AsamDropdownProps)["tabindex"];
	"maxHeight"?: (AsamDropdownProps)["maxHeight"];
	"popperClass"?: AsamDropdownProps["popperClass"];
	"popperStyle"?: import("vue").StyleValue;
	"disabled"?: boolean | undefined;
	"role"?: (AsamDropdownProps)["role"];
	"buttonProps"?: (AsamDropdownProps)["buttonProps"];
	"teleported"?: (AsamDropdownProps)["teleported"];
	"appendTo"?: (AsamDropdownProps)["appendTo"];
	"persistent"?: (AsamDropdownProps)["persistent"];
	"size"?: AsamControlSize | undefined;
	"wrapMenu"?: boolean | undefined;
	"zIndex"?: number | undefined;
};

参数与事件说明

command

必填:是;声明来源:ASAM 声明。

click

必填:是;声明来源:ASAM 声明。

visible-change

必填:是;声明来源:ASAM 声明。

visibleChange

必填:是;声明来源:ASAM 声明。

AsamDropdownEmits 公开类型视图
ts
import type { ComponentInternalInstance } from 'vue';
import type { AsamDropdownEmits } from '@asam-ui/ui';

// AsamDropdownEmits
type PublicContract = {
	"command": [command: string | number | object, instance: ComponentInternalInstance | null, event: PointerEvent | KeyboardEvent];
	"click": [event: MouseEvent];
	"visible-change": [visible: boolean];
	"visibleChange": [visible: boolean];
};

参数与事件说明

default

必填:是;声明来源:ASAM 声明。

default 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(): unknown

dropdown

必填:是;声明来源:ASAM 声明。

dropdown 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(): unknown

AsamDropdownSlots 公开类型视图
ts
import type { AsamDropdownSlots } from '@asam-ui/ui';

// AsamDropdownSlots
type PublicContract = {
	"default": () => unknown;
	"dropdown": () => unknown;
};

参数与事件说明

open

必填:是;声明来源:ASAM 声明。

open 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(): void

close

必填:是;声明来源:ASAM 声明。

close 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(): void

popperRef

必填:是;声明来源:上游声明。

ns

必填:是;声明来源:上游声明。

ns 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

  • ns.namespace: (NonNullable<(AsamDropdownExpose)["ns"]>)["namespace"] — 上游声明

    嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。

  • ns.b: (blockSuffix?: string) => string — 上游声明

    事件参数:(blockSuffix?: string | undefined): string

  • ns.e: (element?: string) => string — 上游声明

    事件参数:(element?: string | undefined): string

  • ns.m: (modifier?: string) => string — 上游声明

    事件参数:(modifier?: string | undefined): string

  • ns.be: (blockSuffix?: string, element?: string) => string — 上游声明

    事件参数:(blockSuffix?: string | undefined, element?: string | undefined): string

  • ns.em: (element?: string, modifier?: string) => string — 上游声明

    事件参数:(element?: string | undefined, modifier?: string | undefined): string

  • ns.bm: (blockSuffix?: string, modifier?: string) => string — 上游声明

    事件参数:(blockSuffix?: string | undefined, modifier?: string | undefined): string

  • ns.bem: (blockSuffix?: string, element?: string, modifier?: string) => string — 上游声明

    事件参数:(blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined): string

  • ns.is: { (name: string, state: boolean | undefined): string; (name: string): string; } — 上游声明

    事件参数:(name: string, state: boolean | undefined): string

    事件参数:(name: string): string

  • ns.cssVar: (object: Record<string, string>) => Record<string, string> — 上游声明

    事件参数:(object: Record<string, string>): Record<string, string>

  • ns.cssVarName: (name: string) => string — 上游声明

    事件参数:(name: string): string

  • ns.cssVarBlock: (object: Record<string, string>) => Record<string, string> — 上游声明

    事件参数:(object: Record<string, string>): Record<string, string>

  • ns.cssVarBlockName: (name: string) => string — 上游声明

    事件参数:(name: string): string

t

必填:是;声明来源:上游声明。

t 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(path: Parameters<Extract<NonNullable<AsamDropdownExpose["t"]>, (...args: never[]) => unknown>>[0], option?: Parameters<Extract<NonNullable<AsamDropdownExpose["t"]>, (...args: never[]) => unknown>>[1]): string

wrapStyle

必填:是;声明来源:上游声明。

wrapStyle 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。

handleClose

必填:是;声明来源:上游声明。

handleClose 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(): void

triggerId

必填:是;声明来源:上游声明。

contentRef

必填:是;声明来源:上游声明。

contentRef 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

嵌套展开边界:大型实例类型;完整类型见公开类型视图。

handleOpen

必填:是;声明来源:上游声明。

handleOpen 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(): void

scrollbar

必填:是;声明来源:上游声明。

dropdownTriggerKls

必填:是;声明来源:上游声明。

dropdownTriggerKls 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

嵌套展开边界:框架 / 平台类型;完整类型见公开类型视图。

dropdownSize

必填:是;声明来源:上游声明。

dropdownSize 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

枚举:"" / "large" / "default" / "small"

currentTabId

必填:是;声明来源:上游声明。

handleCurrentTabIdChange

必填:是;声明来源:上游声明。

handleCurrentTabIdChange 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(id: string): void

handlerMainButtonClick

必填:是;声明来源:上游声明。

handlerMainButtonClick 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(event: MouseEvent): void

handleBeforeShowTooltip

必填:是;声明来源:上游声明。

handleBeforeShowTooltip 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(): void

handleShowTooltip

必填:是;声明来源:上游声明。

handleShowTooltip 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(event?: Event | undefined): void

handleBeforeHideTooltip

必填:是;声明来源:上游声明。

handleBeforeHideTooltip 参数与事件数据

下列为声明可读视图;可导入类型以公开类型视图为准。分支条件与父属性一致。

事件参数:(): void

triggeringElementRef

必填:是;声明来源:上游声明。

referenceElementRef

必填:是;声明来源:上游声明。

AsamDropdownExpose 公开类型视图
ts
import type { AsamDropdownExpose, AsamDropdownProps } from '@asam-ui/ui';

// AsamDropdownExpose
type PublicContract = {
	"open": () => void;
	"close": () => void;
	"popperRef": (AsamDropdownExpose)["popperRef"];
	"ns": (AsamDropdownExpose)["ns"];
	"t": AsamDropdownExpose["t"];
	"wrapStyle": (AsamDropdownExpose)["wrapStyle"];
	"handleClose": () => void;
	"triggerId": string;
	"contentRef": HTMLElement | undefined;
	"handleOpen": () => void;
	"scrollbar": null;
	"dropdownTriggerKls": string[];
	"dropdownSize": "" | "large" | "default" | "small";
	"currentTabId": string | null;
	"handleCurrentTabIdChange": (id: string) => void;
	"handlerMainButtonClick": (event: MouseEvent) => void;
	"handleBeforeShowTooltip": () => void;
	"handleShowTooltip": (event?: Event) => void;
	"handleBeforeHideTooltip": () => void;
	"triggeringElementRef": any;
	"referenceElementRef": any;
};

组合契约按分支生效;请同时查看公开类型。

AsamDropdownTrigger 公开类型视图
ts
import type { AsamDropdownTrigger } from '@asam-ui/ui';

// AsamDropdownTrigger
type PublicContract = AsamDropdownTrigger;

搜索文档

Tab 选择结果 Enter 打开 Esc 关闭