Skip to content

自动填充 AutoComplete ​

有提示的文本输入框。

基础使用 ​

传入 options 作为选项。传入 modelValue 进入受控模式。不传或者为 undefined 则为非受控模式,此时可以传入 defaultValue 属性作为默认值。

隐藏源代码

禁用选项 ​

options 中,选项置 disabled 为 true 可禁用选项。

隐藏源代码

分组 ​

options 中,也支持传入选项组。

隐藏源代码

远程加载 ​

设置 loading、showPopoverEmpty 属性和监听 input 事件,实现远程加载时的 UI 变化。

隐藏源代码

追加模式 ​

选中选项后添加到输入框而不是覆盖原内容,需要设置 append 属性开启,配合传入 filter、shouldShowPopover 函数控制弹出框的选项和展示。

隐藏源代码

虚拟列表 ​

virtualScroll 属性开启虚拟列表,选项数据量大时可以开启提高性能。

隐藏源代码

自定义渲染 ​

option 插槽自定义选项渲染,group-label 插槽自定义分组标签名渲染。

隐藏源代码

更多配置 ​

AutoComplete 还拥有 Input 组件的大部分功能。

Disabled, Readonly, Loading & Clearable

Shape

Size

Slot

prefix
suffix

Composite

Status

Expose

隐藏源代码

API ​

AutoCompleteProps ​

属性类型可选默认值描述版本
modelValuestring | null是自动填充输入框的值(受控模式),支持 v-model。0.0.2
defaultValuestring | null是自动填充输入框的默认值(非受控模式)。0.0.2
optionsstring是选项列表。0.0.2
placeholderstring是占位符文本。0.0.2
disabledboolean是false是否禁用。0.0.2
readonlyboolean是false是否只读。0.0.2
clearableboolean是false是否显示清除按钮。0.0.2
loadingboolean是false是否显示加载状态。0.0.2
size'medium' | 'large' | 'small'是'medium'自动填充输入框尺寸。0.0.2
shape'rect' | 'round'是'rect'自动填充输入框形状。0.0.3
showPopoverEmptyboolean是false是否在选项为空时展示弹出框。0.0.2
shouldShowPopover(value: string, optionsFiltered: (string | AutoCompleteOption | AutoCompleteGroupOption)[]) => boolean是判断输入时是否展示弹出框的函数。0.0.2
filter(keyword: string, options: (string | AutoCompleteOption | AutoCompleteGroupOption)[]) => (string | AutoCompleteOption | AutoCompleteGroupOption)[]是筛选选项的函数。0.0.2
appendboolean是false追加模式。0.0.2
virtualScrollboolean是false是否开启虚拟滚动。0.0.3
virtualListPropsOmit<VirtualListProps, 'list' | 'fixedHeight'> & RestAttrs是虚拟列表属性。0.0.3
borderRadiusNumberOrPercentage | NumberOrPercentage[]是圆角半径,优先级高于 shape,与 CSS border-radius 行为一致;单值或长度为 1 的数组 → 四角同时生效;长度为 2 的数组 → [左上 & 右下, 右上 & 左下];长度为 3 的数组 → [左上, 右上 & 左下, 右下];长度为 4 的数组 → 按顺时针顺序依次作用于四角。0.0.2
status'success' | 'warning' | 'error' | 'normal'是'normal'表单验证状态。0.0.2
autofocusboolean是false原生 <input> 的 autofocus 属性。0.0.2
dropdownPropsOmit<PopoverProps, 'visible' | 'content'> & EmitEvent<PopoverEvents>是下拉弹层的配置。0.2.0
optionsDestroyOnHideboolean是false下拉选项是否会在隐藏时销毁。0.0.3
pollSizeChangeboolean是false开启轮询组件尺寸变化,可能会影响性能。0.1.0

AutoCompleteEvents ​

事件参数描述版本
inputvalue: string, e: Event自动填充输入框输入时的回调。0.0.2
update:modelValuevalue: string更新 modelValue 的回调。0.0.2
changevalue: string, e: Event | undefined输入内容变化时的回调。0.0.2
clearvalue: string点击清除文本按钮,清除内容时的回调。0.0.2
blure: FocusEvent自动填充输入框失焦时的回调。0.0.2
focuse: FocusEvent自动填充输入框聚焦时的回调。0.0.2
selectvalue: string, option: string | AutoCompleteOption, e: MouseEvent选中选项的回调。0.0.2
dropdownOpen下拉面板展示的回调。0.2.0
dropdownClose下拉面板关闭的回调。0.2.0

AutoCompleteSlots ​

插槽参数描述版本
prefix前缀内容。0.0.2
suffix后缀内容。0.0.2
optionoption: string | AutoCompleteOption选项内容。0.0.2
group-labeloption: AutoCompleteGroupOption选项组的标签名。0.0.2

AutoCompleteExpose ​

属性类型可选默认值描述版本
focus() => void否聚焦当前控件。0.0.2
blur() => void否取消聚焦当前控件。0.0.2
clear() => void否清空当前输入内容。0.0.2
select() => void否选中当前输入内容。0.0.2

Option, GroupOption ​

ts
export interface Option<T = any> {
	value: T
	label: string
}

export interface GroupOption<T = any> {
	children: (Option<T> | string)[]
	type: 'group'
}

OptionListOption, OptionListOption ​

ts
export interface OptionListOption<T = any> extends Option<T> {
	disabled?: boolean
	key?: string | number | symbol
}

export interface OptionListGroupOption extends GroupOption {
	label: string
	key: string | number | symbol
	children: (OptionListOption | string)[]
}

AutoCompleteOption, AutoCompleteGroupOption ​

ts
export interface AutoCompleteOption extends OptionListOption<string> {
}

export interface AutoCompleteGroupOption extends OptionListGroupOption {
	children: (AutoCompleteOption | string)[]
}

RestAttrs ​

ts
import type { StyleValue } from 'vue'

export type VueClassValue = string | Record<string, any> | VueClassValue[]
export type VueStyleValue = StyleValue

export type RestAttrs = {
	style?: VueStyleValue | null
	class?: VueClassValue | null
	[x: string]: any
}