数据组件

远端自动补全 AsamRemoteAutocomplete

在自动补全上管理异步选项、重载和请求取消。

远端自动补全 ​

在自动补全上管理异步选项、重载和请求取消。

基础用法 ​

示例通过本地 Promise 函数加载选项,支持模型更新、暂停与重载。所有请求都留在演示内部。

本地数据与生命周期

展开源码

浮层、完整建议项与错误恢复 ​

popperOptions 和 showArrow 直接作用于实际建议浮层。 完整说明。

浮层、完整建议项与错误恢复

展开源码

浮层按钮切换 showArrow 的 false、true 与 undefined;undefined 恢复原生默认箭头。 偏移按钮在同一份 popperOptions 中将 offset 的纵向值在 0 和 16 之间切换, 实际浮层位置随之改变。这些展示配置不改变 source 的查询和选项数据。

同一示例的实例按钮支持聚焦、失焦、关闭建议、读取全部建议、高亮首项或取消高亮、 选择首项以及处理 Enter。 完整说明。

本例显式设置 loopNavigation=false,因此 highlight(-1) 取消当前高亮; 原生默认循环导航启用时,负索引会转至末项。实例控制向上展开,避免覆盖建议列表。

数据来源与覆盖 ​

source(query) 根据当前搜索文本创建 api 或 request 类型的 AsamOptionsSource,必须把 query 放进实际请求参数。它接管静态 options 和基础查询回调;不能同时传静态选项或第二个查询来源。示例通过本地 API 过滤标签,空文本返回完整列表。

来源必须由 defineAsamOptions 的 api 或 request 工厂创建;静态来源不适用。 完整说明。

自动补全模型是 string | number,select 事件提供建议项;选项来源接管 fetchSuggestions、remoteSuggestions 与 valueKey。

生命周期、事件与实例 ​

active=false 暂停请求并保留上次成功数据;reload({ force: true }) 请求新数据,cancel() 取消当前请求。 完整说明。

自动补全以基础 debounce 控制查询节奏;不额外声明 immediate 或 debounceMs。实例继承基础自动补全能力并增加 reload/cancel。

输入请求保持当前 query;旧请求即使忽略取消后迟到,也不能覆盖新 query 的数据。 完整说明。

保留原生输入与选择事件,并额外提供请求成功、失败和加载状态事件。 完整说明。

示例记录模型、输入、选择、清除与请求事件的真实载荷。 完整说明。

实例 行为
highlightedIndex / activated / loading 当前基础建议索引、激活和加载状态的实时只读视图
inputRef / popperRef 基础 Input 与 Tooltip 实例,挂载前可为 undefined
suggestions 当前实际建议数组,保留具体 AsamOption<V, I> 和 raw 类型
focus / blur / close / highlight(index) 控制焦点、建议显隐与当前高亮
getData(query) 通过本组件 source 拉取指定 query 并更新基础建议,返回 Promise
handleSelect(option) / handleKeyEnter() 选择完整建议项或处理当前 Enter 行为,返回 Promise
reload({ force? }) 返回 success(含数据/fromCache)、error 或 cancelled;force 绕过可选应用本地缓存
cancel() 取消本消费者的当前请求,保留成功快照

插槽与基础能力 ​

default 插槽接收 { item: AsamOption<V, I> };prefix、suffix、prepend、append、header、footer、loading 七个命名插槽完整沿用基础自动补全。 完整说明。

通过输入装饰、建议列表及加载状态插槽定制内容,并使用公开实例控制。 完整说明。

本站继承关系 ​

  • 自动补全:适用的基础展示、交互与公开 API。

本页数据来源、模型、事件和实例的覆盖规则优先;本站链接不扩大本组件公开契约。尺寸使用基础组件的 ASAM 尺寸规则,示例使用 default。

模型修饰符与输入状态 ​

v-model.lazy 沿用当前基础自动补全的行为:输入时即更新 modelValue,并将当前 query 发送给 source;按 Tab 失焦后发出 change,模型保持已提交值。 完整说明。

模型修饰符与输入状态

展开源码

建议查询参数的完整消费者 ​

native-data 的“展示建议查询协议”在原示例中增加独立输入,直接消费同一个公开远端自动补全入口;本地查询返回 Alpha、Beta、禁用的 Disabled 和 Delta,规范化后显示可用建议。 完整说明。

参数 完整示例中的作用
maxSuggestions 限制规范化后的可用建议数量,先去掉 disabled 项再截取;1、2 和 undefined 可切换,undefined 恢复默认 100。0、负数、小数、NaN 和 Infinity 在实际 getData 中被拒绝,示例捕获后恢复默认读取。
triggerOnFocus false 不因聚焦发查询,但输入仍查询;true 与 undefined 保留聚焦时的当前文本查询。
highlightFirstItem true 在建议加载后高亮首项,false 与 undefined 不自动高亮。
loopNavigation true 与 undefined 在已激活建议面板中将负索引绕到末项;false 将 -1 保留为取消高亮。
hideLoading true 隐藏加载内容,false 与 undefined 显示 loading 插槽;该显示设置不改变实例 loading 或本地请求的等待状态。
debounce 省略或 undefined 继承原生默认 300ms,合并快速输入的草稿查询;显式 0 按当前 query 立即查询,180ms 合并快速输入。该参数控制基础自动补全查询,不是另一个数据层 debounceMs。

“持有本地请求”使等待状态保持可观察;“释放本地等待”完成原请求。数量、键盘及加载显示的设置不修改来源返回的实体或原始 raw,也不连接服务器。两种类型示例均使用同一组操作。

inputRef 与 popperRef 是实时只读的可选嵌套实例。示例可“停用协议输入”,保存的公开 expose 在组件卸载后读到空的两个引用,再“恢复协议输入”取得新实例;这不依赖伪造实例形状。调用方先判断引用存在,再使用嵌套能力。

selectWhenUnmatched 的 false 与 undefined 在没有建议时不发送 select。此前正常包 56682 启用 true 后,原生未匹配提交产生的载荷只有 { value: 当前模型 },没有来源实体的 label/raw;该旧包的声明与载荷不一致,历史失败记录保留。

在消费包含 UI026 未匹配选择修正的兼容正常候选时,select 事件为“完整匹配建议或 { value: string | number }”。 完整说明。

此前正常包 56682 的未匹配载荷/声明冲突记录保留;后继候选必须单独完成实际消费与独立复核才能关闭原四条 FAIL,包到位本身不表示通过。

native-data 的“展示选择载荷契约”可独立核对六种匹配来源,以及字符串/数字空建议的默认、false、true 策略和实际键盘 Enter。 完整说明。

原生输入属性与模型 ​

native-data 的“展示原生输入协议”使用独立的本地 API,输入草稿进入真实 source 参数,输入内容不会发送到服务器。可切换完整属性与省略属性,观察模型、输入事件和查询记录。建议浮层翻到输入上方时,先按 Escape 关闭建议,再操作工具栏。

参数 完整示例行为
modelValue 外部写入字符串 seed 或数字 42 时,输入分别显示 seed 或 42;实际编辑后按原生输入行为提交字符串模型,并保留 input、update:modelValue 与 query。
id、ariaLabel、tabindex、form、name 传给真实 input/textarea。显式 form 绑定独立表单;省略后解除该表单关联。省略 id 使用原生生成的 ID,不依赖其具体值;省略 tabindex 为 0。
autocomplete、inputmode、placeholder 完整属性使用 on、search 和 Input contract;省略后 autocomplete 恢复 off,inputmode 属性移除,placeholder 恢复 ASAM 默认“请输入”。
minlength、maxlength 最短 2、最长 8。真实键入一个字符触发原生 tooShort,有效字符输入最多保留八个;省略后解除这两项限制。
readonly、disabled 只读阻止编辑而保留模型;禁用阻止编辑和原生输入交互。解除后恢复可编辑状态,不伪造新模型。
type、rows、resize text、password 保留字符串模型;textarea 使用四行、resize=none,省略后恢复原生两行。“全新挂载数字输入”独立验证 number,不承诺动态切换已经通过。
min、max、step 文本输入仅透传原生属性,不进行数字范围裁剪。全新 number 输入使用 2、10、2:3 触发 stepMismatch、1 触发 rangeUnderflow、12 触发 rangeOverflow、4 有效。
autofocus 显式设置真实 autofocus 属性;符合原生浏览器条件的新文档首次输入会聚焦。省略后重挂载不抢焦点,设置 true 不保证任意已有焦点文档中每次重挂载都聚焦。

注意:固定版本从 text/password 动态切至 number 后编辑,可能触发原生选区兼容问题。 完整说明。

配置建议浮层的位置、样式、挂载节点与动画,局部与全局挂载分别演示。 完整说明。

固定 2.14.7 原生 Autocomplete 在 onMounted 中把输入 role 设为 textbox;因此初次 containerRole=searchbox 不改变这次挂载后的 textbox。 完整说明。

“来源生命周期”使用同一个公开 RemoteAutocomplete 验证 source(query) 创建 API 或 URL request 描述,实际查询进入参数。 完整说明。

“建议外观协议”展示 large/big/default/small 四档尺寸。 完整说明。

建议格式协议:原 TS/JS native-data 示例的“展示建议格式协议”入口在独立 provider 应用内演示 formatter、parser 和 modelModifiers。 完整说明。

建议文本能力示例展示字数统计、字素计算、格式化与输入约束。 完整说明。

建议验证示例组合表单与字段,展示输入校验及禁用继承。 完整说明。

修正后的候选对省略 validateEvent 保留 undefined,使基础组件的默认验证参与生效;显式 false 仍关闭验证。 完整说明。

建议输入实例协议:原 TS/JS native-data 示例的“展示建议输入实例协议”入口在独立 provider 应用内读取公开 inputRef。 完整说明。

输入组合示例展示清空图标、前后缀和拼接输入的常用配置。 完整说明。

计数协议另含固定官方原例的 Array.from 代码点回调模式,与 UTF-16 和 Intl.Segmenter 字素模式分别观察。代码点模式使用独立表情,字素模式另外覆盖 ZWJ 家庭表情;两种回调都在 text/textarea 和 inside/outside 中验证,不能把代码点数称为完整字素数。

密码原例的默认图标和自定义图标分别由两个 AsamPassword 承接,共享一个受控模型;两个可见状态保持独立,修改一端时另一端同步值。

基础输入、禁用、格式化与多行输入分别由对应协议示例承接。 完整说明。

source(query) 是唯一建议来源:fetchSuggestions(回调或数组)、valueKey 及其短横线写法在公开类型中排除,JavaScript 初始化传入时会在任何请求之前抛出 config 错误。 完整说明。

官方输入布局协议保留原 with-icon、mixed-input、various-size 的所有分支:默认尺寸省略与 large/small 各自组合无图标、前图标、后图标;另覆盖 ASAM big 档。 完整说明。

布局分支对应官方原例中分别挂载的控件;切换组合时独立挂载配置,受控模型与提供者保留,同一配置内尺寸、选择和按钮操作保持建议输入节点。额外探索中的同实例动态插槽新增/移除曾使原生 Input 后缀可见状态保留旧值,完整失败原件仍保留;这里不承诺该动态切换行为。

建议分支示例展示焦点触发、过滤、模板、远程查询与建议选择。 完整说明。

Input 属性索引:固定 2.14.7 Autocomplete 的 Input 属性链接展开为 35 个原始属性。 完整说明。

局部请求错误插槽 ​

可选 error 插槽仅在当前请求错误存在时调用,接收只读 { error, stale, retry }。 完整说明。

retry 不接收参数,返回强制 reload 的 Promise,并遵守取消和卸载规则。 完整说明。

提供该插槽时,自有内容替换整个默认局部错误区;返回空内容也表示主动替换。 未提供时继续显示原错误文字、过期提示和默认重试按钮。无 error 的单独 stale 状态 不调用此插槽;empty、loading 和其他基础插槽继续使用原作用域。

以下完整 TS/JS 示例先制造失败,再等待插槽 retry 的返回结果;成功后可再次制造 更新失败,观察旧结果与模型保留。每次挂载使用独立子 app 和本地 provider。

局部错误定制、等待重试与过期恢复

展开源码

局部与全局浮层 ​

基础示例使用默认的全局挂载;局部挂载示例展示显式配置的 teleported 或 appendTo。先打开控件浮层,再观察其所在容器。挂载位置与控件值、请求协议互相独立。

API

属性 AsamRemoteAutocompleteProps

属性名说明类型默认值
source—(query: string) => AsamOptionsSource<V, I, "api" | "request">—
active暂停请求并保留最后一次成功结果。boolean | undefinedtrue
form原生 form 能力。string | undefined—
ariaLabel原生 ariaLabel 能力。string | undefined—
id原生 id 能力。string | undefined—
popperClass原生 popperClass 能力。(AsamRemoteAutocompleteProps<V, I>)["popperClass"]false
popperStyle原生 popperStyle 能力。import("vue").StyleValueundefined
placement原生 placement 能力。enum"top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end"完整类型:(AsamRemoteAutocompleteProps<V, I>)["placement"]—
popperOptions实际建议面板的 Popper 定位修饰符与配置。(AsamRemoteAutocompleteProps<V, I>)["popperOptions"]—
showArrow是否显示建议面板箭头,默认 true。boolean | undefinedfalse
appendTo原生 appendTo 能力。string | HTMLElement | undefined—
teleported原生 teleported 能力。boolean | undefinedundefined
disabled原生 disabled 能力。boolean | undefinedundefined
tabindex原生 tabindex 能力。string | number | undefined—
size显式控件密度;省略时保留继承。enum"large" | "big" | "default" | "small"完整类型:AsamControlSize | undefined—
type原生 type 能力。enum"number" | "text" | "email" | "search" | "tel" | "url" | "textarea" | "password"完整类型:(AsamRemoteAutocompleteProps<V, I>)["type"]—
name原生 name 能力。string | undefined—
max—(string | number) | undefined—
modelValue字符串或数字输入值。string | number | undefined—
formatter原生 formatter 能力。((value: string) => string) | undefined—
rows原生 rows 能力。number | undefined—
resize原生 resize 能力。enum"horizontal" | "vertical" | "none" | "both"完整类型:"horizontal" | "vertical" | "none" | "both" | undefined—
min原生输入的上下界和步长,补充 InputProps 未声明的属性。(string | number) | undefined—
autofocus原生 autofocus 能力。boolean | undefinedfalse
validateEvent原生 validateEvent 能力。boolean | undefinedundefined
clearable原生 clearable 能力。boolean | undefinedfalse
step—(string | number) | undefined—
clearIcon原生 clearIcon 能力。(AsamRemoteAutocompleteProps<V, I>)["clearIcon"]—
prefixIcon原生 prefixIcon 能力。(AsamRemoteAutocompleteProps<V, I>)["prefixIcon"]—
readonly原生 readonly 能力。boolean | undefinedfalse
placeholder原生 placeholder 能力。string | undefined—
autocomplete原生 autocomplete 能力。string | undefined—
debounce原生 debounce 能力。number | undefined—
fitInputWidth原生 fitInputWidth 能力。boolean | undefinedfalse
suffixIcon原生 suffixIcon 能力。(AsamRemoteAutocompleteProps<V, I>)["suffixIcon"]—
inputStyle原生 inputStyle 能力。import("vue").StyleValueundefined
inputmode原生 inputmode 能力。enum"text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal"完整类型:"text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined—
modelModifiers原生 modelModifiers 能力。(AsamRemoteAutocompleteProps<V, I>)["modelModifiers"]—
maxlength原生 maxlength 能力。string | number | undefined—
minlength原生 minlength 能力。string | number | undefined—
autosize原生 autosize 能力。(AsamRemoteAutocompleteProps<V, I>)["autosize"]false
parser原生 parser 能力。((value: string) => string) | undefined—
showPassword原生 showPassword 能力。boolean | undefinedfalse
showWordLimit原生 showWordLimit 能力。boolean | undefinedfalse
wordLimitPosition原生 wordLimitPosition 能力。enum"outside" | "inside"完整类型:"outside" | "inside" | undefined—
containerRole原生 containerRole 能力。string | undefined—
countGraphemes原生 countGraphemes 能力。((value: string) => number) | undefined—
triggerOnFocus原生 triggerOnFocus 能力。boolean | undefinedundefined
selectWhenUnmatched原生 selectWhenUnmatched 能力。boolean | undefinedfalse
hideLoading原生 hideLoading 能力。boolean | undefinedfalse
highlightFirstItem原生 highlightFirstItem 能力。boolean | undefinedfalse
loopNavigation原生 loopNavigation 能力。boolean | undefinedundefined
maxSuggestionsASAM 静态或远程选项的最大建议数;不截断原生建议项。number | undefined—

事件 AsamRemoteAutocompleteEmits

属性名说明类型默认值
success—[options: readonly AsamOption<V, I>[]]—
error—[error: AsamDataError]—
update:modelValue—[value: string | number]—
input—[value: string | number]—
change—[value: string | number]—
select匹配到的原建议项,或原生未匹配时按 Enter 返回的纯 value 数据。[item: { value: string | number; } | AsamOption<V, I>]—
clear—(AsamRemoteAutocompleteEmits<V, I>)["clear"]—
focus—[event: FocusEvent]—
blur—[event: FocusEvent]—
compositionstart—[event: CompositionEvent]—
compositionupdate—[event: CompositionEvent]—
compositionend—[event: CompositionEvent]—
mouseenter—[event: MouseEvent]—
mouseleave—[event: MouseEvent]—
keydown—[event: Event | KeyboardEvent]—

插槽 AsamRemoteAutocompleteSlots

属性名说明类型默认值
default—((props: { item: AsamOption<V, I>; }) => unknown) | undefined—
prefix—(() => unknown) | undefined—
suffix—(() => unknown) | undefined—
prepend—(() => unknown) | undefined—
append—(() => unknown) | undefined—
header—(() => unknown) | undefined—
footer—(() => unknown) | undefined—
loading—(() => unknown) | undefined—
error替换本地错误区域;重试返回现有强制重新加载的 Promise。(AsamRemoteAutocompleteSlots<V, I>)["error"]—

实例方法与状态 AsamRemoteAutocompleteExpose

属性名说明类型默认值
reload—(options?: { readonly force?: boolean; }) => Promise<AsamReloadResult<readonly AsamOption<V, I>[]>>—
cancel—() => void—
highlightedIndex—number—
activated—boolean—
loading—boolean—
inputRef—(AsamRemoteAutocompleteExpose<V, I>)["inputRef"]—
popperRef—(AsamRemoteAutocompleteExpose<V, I>)["popperRef"]—
suggestions—(AsamRemoteAutocompleteExpose<V, I>)["suggestions"]—
focus—() => void—
blur—() => void—
close—() => void—
highlight—(index: number) => void—
getData—(query: string) => Promise<void>—
handleSelect—(AsamRemoteAutocompleteExpose<V, I>)["handleSelect"]—
handleKeyEnter—() => Promise<void>—

用法与契约补充说明 ​

浮层、完整建议项与错误恢复 ​

popperOptions 和 showArrow 直接作用于实际建议浮层。下面的完整示例关闭箭头、设置偏移,使用 header/footer/loading 和默认建议插槽。选择建议会更新输入模型为其 label,select 返回规范化选项及原始 raw 成员;选项 value 与输入文本不必相同。勾选“模拟接口失败”后强制重载可观察陈旧状态,取消失败选项后再次重载恢复。

浮层、完整建议项与错误恢复 ​

同一示例的实例按钮支持聚焦、失焦、关闭建议、读取全部建议、高亮首项或取消高亮、 选择首项以及处理 Enter。getData('') 通过本例 source 请求空查询,返回当前完整建议; handleSelect 使用实际建议对象,模型提交其 label,事件保留 value 与 raw。 高亮首项后调用 handleKeyEnter 提交该项;实时 highlightedIndex、activated、 loading 与建议列表可用“读取实例状态”观察。实例控制放在 append 插槽内,避免外部点击先关闭建议;按钮阻止 mousedown 抢走输入焦点, 让实例操作保持可观察;失焦和关闭仍由各自公开方法执行。

数据来源与覆盖 ​

来源必须由 defineAsamOptions 的 api 或 request 工厂创建;静态来源不适用。映射、同步 transform 和可选 cache 写在 source 工厂内;组件不另收 api/request/dataSource/dictType。即使是 JavaScript 消费端,同时传 options、fetchSuggestions、remoteSuggestions、valueKey 或第二个数据入口也会作为配置错误拒绝,避免绕过既有来源。

生命周期、事件与实例 ​

active=false 暂停请求并保留上次成功数据;reload({ force: true }) 请求新数据,cancel() 取消当前请求。success 返回规范化选项数组,error 返回 AsamDataError;旧成功数据更新失败时组件显示过期状态。reload 的 status 为 success、error 或 cancelled;不能把取消当作成功。

生命周期、事件与实例 ​

输入请求保持当前 query;旧请求即使忽略取消后迟到,也不能覆盖新 query 的数据。失败保留上次成功的建议并显示过期提示,首个失败保持空数据。reload 成功后同步更新可见建议,不额外发送第二次请求。cancel 不清空已成功建议,也不把迟到结果当成功;一般 scope/epoch 失效沿用数据 provider 的隔离规则。

插槽与基础能力 ​

default 插槽接收 { item: AsamOption<V, I> };prefix、suffix、prepend、append、header、footer、loading 七个命名插槽完整沿用基础自动补全。默认建议过滤 disabled 项,并受 maxSuggestions 的正整数限制;没有自定义插槽时显示选项 label。

模型修饰符与输入状态 ​

v-model.lazy 沿用当前基础自动补全的行为:输入时即更新 modelValue,并将当前 query 发送给 source;按 Tab 失焦后发出 change,模型保持已提交值。选择建议会立即提交其 label。示例将请求记录、模型与 input/change 并排展示,可输入新文本后按 Tab 观察事件时序。只读和禁用阻止编辑;min/max/step 传给实际 input,示例文本输入不会因此执行数字范围校验。所有接口在本地运行。

建议查询参数的完整消费者 ​

native-data 的“展示建议查询协议”在原示例中增加独立输入,直接消费同一个公开远端自动补全入口;本地查询返回 Alpha、Beta、禁用的 Disabled 和 Delta,规范化后显示可用建议。原示例的事件、浮层和实例按钮仍然保留。新增实例操作放在真实 append 插槽内,展开后从输入上方操作;外部普通按钮点击会按原生规则关闭建议,不能据此观察高亮导航。

建议查询参数的完整消费者 ​

在消费包含 UI026 未匹配选择修正的兼容正常候选时,select 事件为“完整匹配建议或 { value: string | number }”。selectWhenUnmatched=true 的空建议 Enter 可返回仅有 value 的对象;默认和 false 不产生这次选择。读取 raw 或 label 前先用 'raw' in item 缩窄。匹配选项的原始业务对象、默认插槽 item、suggestions、handleSelect 参数及 success 仍保持完整选项,不能用仅有 value 的对象替代。

建议查询参数的完整消费者 ​

native-data 的“展示选择载荷契约”可独立核对六种匹配来源,以及字符串/数字空建议的默认、false、true 策略和实际键盘 Enter。匹配事件保持 suggestions 中同一完整对象;远程来源的 raw 是数据归一化后复制并冻结的业务快照,与 success 中的 raw 保持同一引用,不会冻结宿主返回的原对象。默认插槽仍可直接读取完整建议,未匹配事件则先判断 raw 是否存在。

原生输入属性与模型 ​

固定 2.14.7 原生 Autocomplete 在 onMounted 中把输入 role 设为 textbox;因此初次 containerRole=searchbox 不改变这次挂载后的 textbox。示例另外切换已挂载输入的角色为 group,可观察实际属性更新,而外层 autocomplete 的 combobox 不变。这项生命周期边界保留,不把普通 Input 的角色表现直接套到 Autocomplete。

原生输入属性与模型 ​

“来源生命周期”使用同一个公开 RemoteAutocomplete 验证 source(query) 创建 API 或 URL request 描述,实际查询进入参数。请求开关覆盖省略、true 和 false;重载覆盖省略选项、force=false 和 force=true。可持有响应、取消后迟到完成、模拟请求失败并恢复,公开 suggestions 保留完整业务 raw,取消和停用不清除已选择模型。URL 来源通过独立消费应用的 provider.request 承接,示例不改变其他消费者的 provider。

原生输入属性与模型 ​

“建议外观协议”展示 large/big/default/small 四档尺寸。省略 size 时继承同一消费应用中的 ConfigProvider,提供者尺寸可实时改变;输入显式尺寸优先。clearable 覆盖省略、true、false,以及空值、只读和禁用时的清除按钮表现。clearIcon、prefixIcon、suffixIcon 可传 Vue 组件或本应用注册的字符串名称;示例在独立消费应用内注册图标,不修改其他应用的注册表。inputStyle 可使用 CSS 对象、CSS 文本或样式数组,恢复省略会清除已有内联覆盖。清除按钮通过真实点击更新模型并触发 clear,建议来源仍返回完整成员 raw。

原生输入属性与模型 ​

建议格式协议:原 TS/JS native-data 示例的“展示建议格式协议”入口在独立 provider 应用内演示 formatter、parser 和 modelModifiers。可以切换省略、仅格式化、格式化与解析配对,以及空对象、trim、number、lazy 和组合;对照原生显示、input/change、受控模型与完整来源建议。格式化仅影响显示,配对 parser 将显示值还原到模型和查询;number 的 input/change 保留原生规范化文本,受控模型经 Vue 的模型修饰符转为数值,非数值文本仍保留。含 lazy 的配置同样在 input 时提交模型;lazy-trim-number 的 input/query 保留输入原文,模型经 Vue 修饰符归一化,change 保留原生规范化文本。入口保留原示例和实例,关闭标记通过省略键实现;移除格式化后,在下一次模型值变更时恢复原生显示。

原生输入属性与模型 ​

修正后的候选对省略 validateEvent 保留 undefined,使基础组件的默认验证参与生效;显式 false 仍关闭验证。普通与 lazy 配置分别记录 input 后的模型、change/blur 及真实校验结果,两者都不以失焦作为模型首次提交的前提;错误值恢复有效后可观察成功状态。原省略默认未参与验证的失败记录继续保留。

原生输入属性与模型 ​

建议输入实例协议:原 TS/JS native-data 示例的“展示建议输入实例协议”入口在独立 provider 应用内读取公开 inputRef。input、textarea、ref、select、clear、resizeTextarea、isComposing、passwordVisible 和 textareaStyle 属于该命名输入实例,不能直接调用 Remote 根上的同名方法。可观察真实聚焦/失焦、键盘 payload、原生鼠标事件对象、组合事件期间暂缓模型提交、结束时单次提交、输入/文本域引用切换、密码状态及按原生值重新测量文本域。组合事件由浏览器 DOM 协议模拟,不声称已验证操作系统输入法。

原生输入属性与模型 ​

source(query) 是唯一建议来源:fetchSuggestions(回调或数组)、valueKey 及其短横线写法在公开类型中排除,JavaScript 初始化传入时会在任何请求之前抛出 config 错误。已淘汰的 label 改用 ariaLabel,popper-append-to-body 改用 teleported 与 appendTo;旧名字不属于支持的公开接口,未知 HTML 属性透传不构成兼容承诺。正常安装包的独立 SSR 初始化协议验证完整拒绝列表,现有浏览器协议继续验证实际 aria-label、弹层目的地和 source(query) 请求;SSR 结果不声称证明客户端更新时的拒绝。

原生输入属性与模型 ​

官方输入布局协议保留原 with-icon、mixed-input、various-size 的所有分支:默认尺寸省略与 large/small 各自组合无图标、前图标、后图标;另覆盖 ASAM big 档。前后图标分别通过组件属性和插槽呈现。附加内容分别呈现 Http://、.com,以及前 Select/后搜索按钮和前搜索按钮/后 Select;三项选择使用公开 AsamSelect 与 AsamOption,按钮使用 AsamButton,真实选择及点击不改建议输入模型,最后真实输入 Layout 经 source(query) 获得完整 raw。此处只验证数据组件的插槽组合,不代替 Select 的整卡验收。

原生输入属性与模型 ​

Input 属性索引:固定 2.14.7 Autocomplete 的 Input 属性链接展开为 35 个原始属性。除已经共同确认淘汰的 label 改用 ariaLabel 外,其余 34 项由原生输入、建议格式、建议文本、验证、官方输入组合与布局协议逐项承接;name 复用同一公开属性,不另造重复接口。输入类型专属的 rows、autosize、resize、长度与计数条件保持原生边界,min、max、step 透传属性而不替宿主裁剪值。命名输入实例的方法与 password-icon 的独立 AsamPassword 组合见各自协议,不能把索引解释为 Remote 根新增这些接口。

局部请求错误插槽 ​

可选 error 插槽仅在当前请求错误存在时调用,接收只读 { error, stale, retry }。 error 与本实例 error 事件中的 AsamDataError 为同一对象,保留 cause、kind、 message 与 notified;渲染插槽不会再次通知 provider。stale 表示保留的数据已过期。

更多参数与事件说明 ​

生命周期、事件与实例 ​

公开事件完整保留 update:modelValue、input、change、select、clear、focus、blur、compositionstart/compositionupdate/compositionend、mouseenter/mouseleave 和 keydown,另外增加 success/error。composition 事件保留 CompositionEvent,键盘事件保留原事件;focus/blur 为 FocusEvent。基础只读、禁用、清空、.lazy、输入属性与四档 ASAM 尺寸仍适用。

生命周期、事件与实例 ​

完整 native-data 示例在同一观察区记录事件名称与实际载荷:模型/input/change 保留输入值, clear 无事件参数,select 保留规范化选项与 raw,success 是成功的选项数组,error 保留 kind/message。DOM 事件记录其具体类型、constructor、isTrusted,以及键盘 key 或 composition data。 滚动观察区显示完整记录,原始事件本身仍由对应监听器接收。

插槽与基础能力 ​

上面的完整示例同时展示八个插槽:prefix 的“找”、suffix 的“本地”和 prepend 的“成员” 位于真实 Input 对应区域,append 承载实例控制;header/footer 位于建议面板,loading 在实际请求等待时替换列表内容。默认插槽读取具体 item.label 与 item.raw.id,选择行为仍由 原生建议项触发。七个命名插槽没有额外 scope 参数。

原生输入属性与模型 ​

固定 Element Plus 2.14.7 存在原生兼容限制:先编辑 text/password,再将同一输入元素动态切到 number,后续编辑会因旧光标快照调用不支持的 setSelectionRange 而触发 InvalidStateError。原生、基础和远端自动补全的实际对照均出现该错误;模型更新与范围、步长状态正确不代表这条动态路径无异常。ASAM 沿用原生输入行为,保留这项兼容限制。示例的“全新挂载数字输入”分支已独立验证 number 的模型与 min/max/step 行为,该结果不覆盖上述动态切换限制;原失败证据保留。

原生输入属性与模型 ​

生命周期的“建议浮层协议”展示 placement 六个原生方向、popperClass 与对象/字符串/组合 popperStyle、teleported 就地或传送、appendTo 选择器或实际元素,以及 fitInputWidth 固定输入宽度和最小宽度。每次打开配置都重挂载同一公开 RemoteAutocomplete,并通过真实 source 返回完整成员建议。省略配置用于观察原生默认;containerRole 是输入角色参数,浮层仍有自己的 listbox/region 角色。

原生输入属性与模型 ​

建议文本能力:原 TS/JS native-data 示例的“展示建议文本能力”入口可切换 showWordLimit、wordLimitPosition、countGraphemes、showPassword 与 autosize。独立 provider 应用对照原生字数和 Intl.Segmenter 字素计数、ZWJ 家庭表情与代理对、超限插入恢复、完整来源 raw 建议、只读/禁用计数隐藏、密码实际显隐及模型不变、文本域布尔与 minRows/maxRows 自适应。切换 text/textarea 时由原生输入替换对应 DOM,其余同类交互使用同一元素;高度来自内容和公开配置,不强制覆写。

原生输入属性与模型 ​

建议验证协议:原 TS/JS native-data 示例的“展示建议验证协议”入口在独立 provider 应用内组合公开 AsamBaseForm/AsamFormItem,切换 validateEvent 省略/真/假及普通/lazy 提交。对照真实规则调用、表单 validate 事件、错误信息、修复成功和模型/input/change;公开默认值应继承基础验证参与。省略默认值的实际接收行为随当前安装产物记录,不以挂载或声明存在代替验证。

原生输入属性与模型 ​

官方输入组合协议:原 TS/JS native-data 的“展示官方输入组合协议”补齐固定 2.14.7 Input 官方示例中的组合分支:text 和 textarea 的 clearable、自定义 clearIcon、inside/outside 字数计数,以及 UTF-16 与 Intl.Segmenter 字素上限。每个组合保留完整来源 raw 和受控模型;四个字素输入不能额外提交。password-icon 通过独立 AsamPassword 的 visible 布尔插槽组合承接;Remote 根及普通 AsamInput 均未增设该插槽。密码切换保持同一输入和模型。

原生输入属性与模型 ​

固定 2.14.7 的基础输入、禁用、formatter/parser、两行文本域及 autosize 布尔/对象示例分别由已有完整协议承接:基础输入与禁用见原生输入协议,显示/解析与真实来源见建议格式协议,两行默认和四行显式 rows 分别观察,自动高度覆盖 true 与 minRows=2/maxRows=4。这里复用已运行的原 TS/JS 文件和实际 Story 观察,不把官方示例文件存在本身当作行为完成。

原生输入属性与模型 ​

官方建议分支协议完整展示基础示例的两个独立模型与默认 focus/仅输入触发、前缀忽略大小写过滤、真实选择及清除;模板示例包含可点击的 suffix 图标、建议值和完整链接;远程搜索使用 ASAM source 承接请求与原始数据。两种自定义加载 SVG 保留官方圆环及四圆点的几何与动画,并共享模型。页眉与页脚分开呈现,页脚 Clear 真实清空模型并调用公开 getData('') 重新读取全部七项,保留原链接。为稳定演示,将官方随机等待改为固定 60ms,加载图标用“完成官方加载”按钮控制完成;teleported=false 与 debounce=0 仅用于该示例的局部观察。回调与 value-key 已迁移至 source 与 fieldNames,不宣称旧接口仍受支持。

局部请求错误插槽 ​

retry() 不接收参数,直接返回现有 reload({ force: true }) 的 Promise,结果为 AsamReloadResult<readonly AsamOption<V, I>[]> 的 success、error 或 cancelled 分支。 重试遵守 active、当前来源、取消和卸载规则,不改写模型。 成功重试还等待原生建议刷新,并复用成功结果,不额外请求。

继承能力

本入口的独有 API 见上表,基础能力见本站对应页面。

参数与事件补充说明

由 source(query) 创建唯一 api/request 来源,query 必须进入实际请求参数。 来源接管 options/fetchSuggestions/remoteSuggestions/valueKey;不能再传第二个来源。 popperOptions/showArrow、基础输入 props、事件和插槽保留其公开契约。

参数与事件说明

source

必填:是;声明来源:数据 / provider 协议。

source 参数与事件数据

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

事件参数:(query: string): AsamOptionsSource<V, I, "api" | "request">

active

必填:否;声明来源:数据 / provider 协议。

active 参数与事件数据

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

枚举:false / true

默认值与来源
true(源码表达式;ASAM 声明)
form

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

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

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

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

ariaLabel

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

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

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

id

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

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

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

popperClass

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

popperClass 参数与事件数据

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

枚举:false

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

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

popperStyle

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

popperStyle 参数与事件数据

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

枚举:false

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

默认值与来源
undefined(源码表达式;ASAM 声明)

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

placement

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

placement 参数与事件数据

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

枚举:"top" / "bottom" / "top-start" / "top-end" / "bottom-start" / "bottom-end"

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

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

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

popperOptions

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

popperOptions 参数与事件数据

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

  • popperOptions.placement: PublicMember<NonNullable<(AsamRemoteAutocompleteProps<V, I>)["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<(AsamRemoteAutocompleteProps<V, I>)["popperOptions"]>, "modifiers"> — 依赖声明
  • popperOptions.strategy: PublicMember<NonNullable<(AsamRemoteAutocompleteProps<V, I>)["popperOptions"]>, "strategy"> — 依赖声明

    枚举:"fixed" / "absolute"

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

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

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

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

showArrow

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

showArrow 参数与事件数据

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

枚举:false / true

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

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

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

appendTo

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

appendTo 参数与事件数据

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

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

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

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

teleported

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

teleported 参数与事件数据

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

枚举:false / true

默认值与来源
undefined(源码表达式;ASAM 声明)

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

disabled

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

disabled 参数与事件数据

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

枚举:false / true

默认值与来源
undefined(源码表达式;ASAM 声明)

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

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

tabindex

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

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

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

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

size

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

size 参数与事件数据

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

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

type

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

type 参数与事件数据

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

枚举:"number" / "text" / "email" / "search" / "tel" / "url" / "textarea" / "password"

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

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

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

name

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

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

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

max

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

modelValue

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

formatter

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

formatter 参数与事件数据

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

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

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

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

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

rows

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

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

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

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

resize

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

resize 参数与事件数据

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

枚举:"horizontal" / "vertical" / "none" / "both"

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

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

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

min

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

autofocus

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

autofocus 参数与事件数据

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

枚举:false / true

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

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

validateEvent

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

validateEvent 参数与事件数据

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

枚举:false / true

默认值与来源
undefined(源码表达式;ASAM 声明)

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

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

clearable

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

clearable 参数与事件数据

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

枚举:false / true

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

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

step

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

clearIcon

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

clearIcon 参数与事件数据

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

事件参数:(props: any, ctx: Parameters<Extract<NonNullable<(AsamRemoteAutocompleteProps<V, I>)["clearIcon"]>, (...args: never[]) => unknown>>[1]): any

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

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

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

prefixIcon

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

prefixIcon 参数与事件数据

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

事件参数:(props: any, ctx: Parameters<Extract<NonNullable<(AsamRemoteAutocompleteProps<V, I>)["prefixIcon"]>, (...args: never[]) => unknown>>[1]): any

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

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

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

readonly

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

readonly 参数与事件数据

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

枚举:false / true

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

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

placeholder

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

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

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

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

autocomplete

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

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

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

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

debounce

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

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

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

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

fitInputWidth

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

fitInputWidth 参数与事件数据

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

枚举:false / true

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

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

suffixIcon

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

suffixIcon 参数与事件数据

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

事件参数:(props: any, ctx: Parameters<Extract<NonNullable<(AsamRemoteAutocompleteProps<V, I>)["suffixIcon"]>, (...args: never[]) => unknown>>[1]): any

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

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

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

inputStyle

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

inputStyle 参数与事件数据

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

枚举:false

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

默认值与来源
undefined(源码表达式;ASAM 声明)

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

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

inputmode

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

inputmode 参数与事件数据

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

枚举:"text" / "email" / "search" / "tel" / "url" / "none" / "numeric" / "decimal"

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

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

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

modelModifiers

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

modelModifiers 参数与事件数据

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

  • modelModifiers.lazy: true | undefined — 上游声明

    枚举:true

  • modelModifiers.number: true | undefined — 上游声明

    枚举:true

  • modelModifiers.trim: true | undefined — 上游声明

    枚举:true

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

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

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

maxlength

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

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

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

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

minlength

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

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

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

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

autosize

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

autosize 参数与事件数据

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

枚举:false / true

  • autosize.minRows: number | undefined — 上游声明
  • autosize.maxRows: number | undefined — 上游声明
默认值与来源
false(隐式 Boolean 默认;已安装组件)

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

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

parser

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

parser 参数与事件数据

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

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

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

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

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

showPassword

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

showPassword 参数与事件数据

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

枚举:false / true

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

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

showWordLimit

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

showWordLimit 参数与事件数据

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

枚举:false / true

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

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

wordLimitPosition

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

wordLimitPosition 参数与事件数据

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

枚举:"outside" / "inside"

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

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

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

containerRole

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

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

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

countGraphemes

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

countGraphemes 参数与事件数据

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

事件参数:(value: string): number

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

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

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

triggerOnFocus

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

triggerOnFocus 参数与事件数据

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

枚举:false / true

默认值与来源
undefined(源码表达式;ASAM 声明)

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

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

selectWhenUnmatched

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

selectWhenUnmatched 参数与事件数据

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

枚举:false / true

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

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

hideLoading

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

hideLoading 参数与事件数据

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

枚举:false / true

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

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

highlightFirstItem

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

highlightFirstItem 参数与事件数据

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

枚举:false / true

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

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

loopNavigation

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

loopNavigation 参数与事件数据

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

枚举:false / true

默认值与来源
undefined(源码表达式;ASAM 声明)

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

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

maxSuggestions

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

AsamRemoteAutocompleteProps 公开类型视图
ts
import type { Attrs } from 'vue';
import type { AsamRemoteAutocompleteProps, AsamValue, AsamRecord, AsamOptionsSource, AsamControlSize } from '@asam-ui/ui';

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

// AsamRemoteAutocompleteProps
type PublicContract<V extends AsamValue = AsamValue, I extends object = AsamRecord> = {
	readonly "source": (query: string) => AsamOptionsSource<V, I, "api" | "request">;
	readonly "active"?: boolean | undefined;
	readonly "form"?: string | undefined;
	readonly "ariaLabel"?: string | undefined;
	readonly "id"?: string | undefined;
	readonly "popperClass"?: (AsamRemoteAutocompleteProps<V, I>)["popperClass"];
	readonly "popperStyle"?: import("vue").StyleValue;
	readonly "placement"?: (AsamRemoteAutocompleteProps<V, I>)["placement"];
	readonly "popperOptions"?: (AsamRemoteAutocompleteProps<V, I>)["popperOptions"];
	readonly "showArrow"?: boolean | undefined;
	readonly "appendTo"?: string | HTMLElement | undefined;
	readonly "teleported"?: boolean | undefined;
	readonly "disabled"?: boolean | undefined;
	readonly "tabindex"?: string | number | undefined;
	readonly "size"?: AsamControlSize | undefined;
	readonly "type"?: (AsamRemoteAutocompleteProps<V, I>)["type"];
	readonly "name"?: string | undefined;
	readonly "max"?: (string | number) | undefined;
	readonly "modelValue"?: string | number | undefined;
	readonly "formatter"?: ((value: string) => string) | undefined;
	readonly "rows"?: number | undefined;
	readonly "resize"?: "horizontal" | "vertical" | "none" | "both" | undefined;
	readonly "min"?: (string | number) | undefined;
	readonly "autofocus"?: boolean | undefined;
	readonly "validateEvent"?: boolean | undefined;
	readonly "clearable"?: boolean | undefined;
	readonly "step"?: (string | number) | undefined;
	readonly "clearIcon"?: (AsamRemoteAutocompleteProps<V, I>)["clearIcon"];
	readonly "prefixIcon"?: (AsamRemoteAutocompleteProps<V, I>)["prefixIcon"];
	readonly "readonly"?: boolean | undefined;
	readonly "placeholder"?: string | undefined;
	readonly "autocomplete"?: string | undefined;
	readonly "debounce"?: number | undefined;
	readonly "fitInputWidth"?: boolean | undefined;
	readonly "suffixIcon"?: (AsamRemoteAutocompleteProps<V, I>)["suffixIcon"];
	readonly "inputStyle"?: import("vue").StyleValue;
	readonly "inputmode"?: "text" | "email" | "search" | "tel" | "url" | "none" | "numeric" | "decimal" | undefined;
	readonly "modelModifiers"?: (AsamRemoteAutocompleteProps<V, I>)["modelModifiers"];
	readonly "maxlength"?: string | number | undefined;
	readonly "minlength"?: string | number | undefined;
	readonly "autosize"?: (AsamRemoteAutocompleteProps<V, I>)["autosize"];
	readonly "parser"?: ((value: string) => string) | undefined;
	readonly "showPassword"?: boolean | undefined;
	readonly "showWordLimit"?: boolean | undefined;
	readonly "wordLimitPosition"?: "outside" | "inside" | undefined;
	readonly "containerRole"?: string | undefined;
	readonly "countGraphemes"?: ((value: string) => number) | undefined;
	readonly "triggerOnFocus"?: boolean | undefined;
	readonly "selectWhenUnmatched"?: boolean | undefined;
	readonly "hideLoading"?: boolean | undefined;
	readonly "highlightFirstItem"?: boolean | undefined;
	readonly "loopNavigation"?: boolean | undefined;
	readonly "maxSuggestions"?: number | undefined;
};

参数与事件说明

success

必填:是;声明来源:数据 / provider 协议。

error

必填:是;声明来源:数据 / provider 协议。

update:modelValue

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

input

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

change

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

select

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

clear

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

focus

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

blur

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

compositionstart

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

compositionupdate

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

compositionend

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

mouseenter

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

mouseleave

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

keydown

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

AsamRemoteAutocompleteEmits 公开类型视图
ts
import type { AsamRemoteAutocompleteEmits, AsamValue, AsamOption, AsamDataError } from '@asam-ui/ui';

// AsamRemoteAutocompleteEmits
type PublicContract<V extends AsamValue = AsamValue, I extends object = object> = {
	"success": [options: readonly AsamOption<V, I>[]];
	"error": [error: AsamDataError];
	"update:modelValue": [value: string | number];
	"input": [value: string | number];
	"change": [value: string | number];
	"select": [item: { value: string | number; } | AsamOption<V, I>];
	"clear": (AsamRemoteAutocompleteEmits<V, I>)["clear"];
	"focus": [event: FocusEvent];
	"blur": [event: FocusEvent];
	"compositionstart": [event: CompositionEvent];
	"compositionupdate": [event: CompositionEvent];
	"compositionend": [event: CompositionEvent];
	"mouseenter": [event: MouseEvent];
	"mouseleave": [event: MouseEvent];
	"keydown": [event: Event | KeyboardEvent];
};

参数与事件说明

default

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

default 参数与事件数据

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

事件参数:(props: { item: AsamOption<V, I>; }): unknown

prefix

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

prefix 参数与事件数据

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

事件参数:(): unknown

suffix

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

suffix 参数与事件数据

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

事件参数:(): unknown

prepend

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

prepend 参数与事件数据

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

事件参数:(): unknown

append

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

append 参数与事件数据

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

事件参数:(): unknown

header

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

header 参数与事件数据

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

事件参数:(): unknown

footer

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

footer 参数与事件数据

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

事件参数:(): unknown

loading

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

loading 参数与事件数据

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

事件参数:(): unknown

error

必填:否;声明来源:数据 / provider 协议。

error 参数与事件数据

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

事件参数:(scope: Parameters<Extract<NonNullable<(AsamRemoteAutocompleteSlots<V, I>)["error"]>, (...args: never[]) => unknown>>[0]): unknown

AsamRemoteAutocompleteSlots 公开类型视图
ts
import type { AsamRemoteAutocompleteSlots, AsamValue, AsamRecord, AsamOption, AsamDataError, AsamReloadResult } from '@asam-ui/ui';

// AsamRemoteAutocompleteSlots
type PublicContract<V extends AsamValue = AsamValue, I extends object = AsamRecord> = {
	"default"?: ((props: { item: AsamOption<V, I>; }) => unknown) | undefined;
	"prefix"?: (() => unknown) | undefined;
	"suffix"?: (() => unknown) | undefined;
	"prepend"?: (() => unknown) | undefined;
	"append"?: (() => unknown) | undefined;
	"header"?: (() => unknown) | undefined;
	"footer"?: (() => unknown) | undefined;
	"loading"?: (() => unknown) | undefined;
	"error"?: (AsamRemoteAutocompleteSlots<V, I>)["error"];
};

实时继承基础建议实例;reload/cancel 不清空成功快照,迟到响应不能覆盖新请求。

参数与事件说明

reload

必填:是;声明来源:数据 / provider 协议。

reload 参数与事件数据

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

事件参数:(options?: { readonly force?: boolean; } | undefined): Promise<AsamReloadResult<readonly AsamOption<V, I>[]>>

cancel

必填:是;声明来源:数据 / provider 协议。

cancel 参数与事件数据

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

事件参数:(): void

highlightedIndex

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

activated

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

activated 参数与事件数据

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

枚举:false / true

loading

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

loading 参数与事件数据

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

枚举:false / true

inputRef

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

popperRef

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

suggestions

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

suggestions 参数与事件数据

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

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

focus

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

focus 参数与事件数据

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

事件参数:(): void

blur

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

blur 参数与事件数据

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

事件参数:(): void

close

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

close 参数与事件数据

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

事件参数:(): void

highlight

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

highlight 参数与事件数据

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

事件参数:(index: number): void

getData

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

getData 参数与事件数据

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

事件参数:(query: string): Promise<void>

handleSelect

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

handleSelect 参数与事件数据

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

事件参数:(item: Parameters<Extract<NonNullable<(AsamRemoteAutocompleteExpose<V, I>)["handleSelect"]>, (...args: never[]) => unknown>>[0]): Promise<void>

handleKeyEnter

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

handleKeyEnter 参数与事件数据

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

事件参数:(): Promise<void>

AsamRemoteAutocompleteExpose 公开类型视图
ts
import type { AsamRemoteAutocompleteExpose, AsamValue, AsamOption, AsamReloadResult } from '@asam-ui/ui';

// AsamRemoteAutocompleteExpose
type PublicContract<V extends AsamValue = AsamValue, I extends object = object> = {
	"reload": (options?: { readonly force?: boolean; }) => Promise<AsamReloadResult<readonly AsamOption<V, I>[]>>;
	"cancel": () => void;
	readonly "highlightedIndex": number;
	readonly "activated": boolean;
	readonly "loading": boolean;
	readonly "inputRef": (AsamRemoteAutocompleteExpose<V, I>)["inputRef"];
	readonly "popperRef": (AsamRemoteAutocompleteExpose<V, I>)["popperRef"];
	readonly "suggestions": (AsamRemoteAutocompleteExpose<V, I>)["suggestions"];
	"focus": () => void;
	"blur": () => void;
	"close": () => void;
	"highlight": (index: number) => void;
	"getData": (query: string) => Promise<void>;
	"handleSelect": (AsamRemoteAutocompleteExpose<V, I>)["handleSelect"];
	"handleKeyEnter": () => Promise<void>;
};

搜索文档

Tab 选择结果 Enter 打开 Esc 关闭