Skip to content

复合选择器

@astryxdesign/core v0.7.1 · ComplexSelector

属性 ​

名称类型默认值说明
labelstring-字段标签,也是弹层的名称。
modelValueValue-当前值。用 v-model 绑定。
triggerLabelstring-触发器上的文字。空的时候用 placeholder。
placeholderstring选择…triggerLabel 为空时显示。
isLabelHiddenbooleanfalse隐藏可见标签。无障碍名称还在。
descriptionstring-标签下面的说明。
isOptionalbooleanfalse标成可选。
isRequiredbooleanfalse标成必填。
isDisabledbooleanfalse触发器不再打开。
isLoadingbooleanfalse触发器上显示加载指示。
statusFieldStatusInput-错误、警告或成功消息。
statusVariant'attached' | 'detached' | 'tooltip''attached'状态消息放在哪里。
labelTooltipstring-标签上的提示。
size'sm' | 'md' | 'lg''md'触发器尺寸。
widthnumber | string-字段宽度。数字按像素。
placementPopoverPlacement'below'弹层打开的位置。
alignment'start' | 'center' | 'end''start'弹层沿打开方向的对齐。
startIconstring | Component-内置触发器开头的图标。
variant'input' | 'secondary' | 'ghost''input'input 是带边框的字段。secondary 对齐次要按钮。ghost 看起来像工具栏按钮。后两种上的 attached 状态会收成独立说明。
containerClass / controlClassclass—外壳接收 container* 和根上的 class。内置按钮接收 control*。自定义触发器上这两类样式不生效,开发环境会警告。
renderTrigger(props) => VNode-换掉字段和内置触发器。把 props 展开到你的控件上。trigger 插槽做同一件事。
handleRefRef | (handle) => void-拿到 open、close、toggle 和 isOpen。模板 ref 暴露同样的方法。
changeAction(value) => void | Promise<void>-值变化后执行。还没结束时触发器显示加载指示。

事件 ​

名称参数说明
update:modelValueValuecommit 写入的值。
changeValue和 update:modelValue 一起发出。
clickevent: MouseEvent触发器上的点击,在弹层打开之前触发。调用 event.preventDefault() 可以让它不打开。用 trigger 插槽或 renderTrigger 自己画触发器时,它在开关之后触发,取消不了。
keydownevent: KeyboardEvent触发器上的按键,在内置处理之后触发,每个键都会收到,包括打开弹层的 ArrowDown。换成自制触发器时,内置处理取消的按键不再透出。
openChangeisOpen: boolean弹层每次打开或关闭都会触发:触发器、键盘、点外面、Escape、close() 或命令式 handle。

插槽 ​

默认插槽收到 value、commit、close 和 state。state 是 { isOpen, isBusy, triggerId, contentId }。value 包含还在提交中的乐观值。