WInputTag 组件
标签输入框,基于 WinDesignNext InputTag 封装,用户输入后按回车(或自定义分隔符)生成标签,支持 modelValue 数组双向绑定及 action 事件响应。
与 WInput 的区别:WInputTag 绑定字符串数组,适合多值录入(如症状、关键词、收件人等)。
基础用法
API
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
component | string | WInputTag | 组件类型(必填) |
modelValue | DataBindingValue | — | 标签数组,支持 path 双向绑定 |
placeholder | string | — | 占位文本 |
max | number | — | 最大标签数量 |
tagType | string | primary | 标签类型 |
tagEffect | string | — | 标签效果(dark/light/plain) |
trigger | string | Enter | 触发添加的按键 |
delimiter | string | — | 分隔符,输入时自动拆分标签 |
draggable | boolean | false | 标签是否可拖拽排序 |
clearable | boolean | false | 是否可一键清空 |
saveOnBlur | boolean | true | 失焦时保存当前输入 |
action | Action | — | 标签变化事件 |
path 支持说明
| 属性 | path 支持 | 说明 |
|---|---|---|
modelValue | ✅ | 标签字符串数组双向绑定 |
modelValue 数据绑定
json
{ "modelValue": { "path": "/symptoms" } }dataModel 中对应字段为字符串数组:
json
{ "symptoms": ["发热", "咳嗽", "乏力"] }action 定义
json
{
"action": {
"event": {
"name": "onSymptomsChange",
"type": "change",
"context": [{ "key": "symptoms", "value": { "path": "/symptoms" } }]
}
}
}添加、删除或拖拽排序标签后均会触发 change 事件并写回 dataModel。
数据同步机制
- Agent 定义组件并设置
modelValue.path - Agent 通过
updateDataModel初始化标签数组 - 用户添加/删除/排序标签后,渲染器自动
setData写回 dataModel - 配置了
action时触发 A2UI 事件
注意事项
modelValue绑定的是 字符串数组,不是单个字符串- 设置
delimiter后,输入分隔符可一次添加多个标签 max限制最大标签数,超出后无法继续添加