V1.0.0
Skip to content

WAutocomplete 组件

自动补全输入框,基于 WinDesignNext Autocomplete 封装,在用户输入时根据建议列表自动补全,支持 modelValue 数据绑定、options/dataSource 建议加载及 action 事件响应。

与 WInput 的区别:WAutocomplete 带下拉建议列表;与 WSelect 的区别:可自由输入,不限于预设选项。

基础用法

API

属性类型默认值说明
componentstringWAutocomplete组件类型(必填)
modelValueDataBindingValue输入值,支持 path 双向绑定
optionsarray静态建议列表,与 dataSource 二选一
dataSourcestring从 dataModel 加载建议的路径
valueKeystringvalue选项对象中的值字段名
placeholderstring占位文本
clearablebooleanfalse是否可清空
debouncenumber300搜索防抖(毫秒)
triggerOnFocusbooleantrue聚焦时是否显示建议
highlightFirstItembooleanfalse是否高亮第一项
selectWhenUnmatchedbooleanfalse无匹配时是否允许选中输入值
actionAction输入/选中事件

path 支持说明

属性path 支持说明
modelValue输入值双向绑定,输入或选中后写回 dataModel
dataSource✅(路径字符串)建议列表数组路径

modelValue 数据绑定

json
{ "modelValue": { "path": "/drugName" } }

dataSource 动态建议

json
{
  "component": "WAutocomplete",
  "dataSource": "/deptSuggestions",
  "modelValue": { "path": "/deptName" }
}

建议数据格式:

json
[
  { "value": "心内科", "label": "心内科" },
  { "value": "骨科", "label": "骨科" }
]

action 定义

json
{
  "action": {
    "event": {
      "name": "onDrugSelect",
      "type": "change",
      "context": [{ "key": "drugName", "value": { "path": "/drugName" } }]
    }
  }
}
  • 输入过程中触发 input 事件(若配置了 action
  • 选中建议项时触发 change 事件

数据同步机制

  1. Agent 定义组件并设置 modelValue.path
  2. Agent 通过 updateDataModel 初始化建议列表和输入值
  3. 用户输入或选中后,渲染器自动 setData 写回 dataModel
  4. 配置了 action 时触发 A2UI 事件

注意事项

  • A2UI 协议中 options/dataSource 映射到底层 fetchSuggestions 属性
  • 不支持 fetchSuggestions 函数形式,远程搜索请通过 Agent 更新 dataSource 数据
  • 选项需包含 value 字段(或通过 valueKey 指定)