WTransfer 组件
穿梭框组件,基于 WinDesignNext Transfer 封装,左右两栏展示数据,通过按钮在两栏间移动选项,适用于人员分配、权限配置等场景。
基础用法
API
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
component | string | WTransfer | 组件类型(必填) |
modelValue | DataBindingValue | — | 已选 key 数组,支持 path 双向绑定 |
data | array | — | 静态数据源,与 dataSource 二选一 |
dataSource | string | — | 从 dataModel 加载全部选项 |
props | object | DataBindingValue | — | 字段映射 { label, key, disabled } |
titles | array | — | 左右面板标题 |
filterable | boolean | false | 是否可搜索 |
targetOrder | string | original | 右侧排序策略 |
showPagination | boolean | false | 是否分页 |
action | Action | — | 选项移动事件 |
path 支持说明
| 属性 | path 支持 | 说明 |
|---|---|---|
modelValue | ✅ | 已选 key 数组双向绑定 |
dataSource | ✅(路径字符串) | 全部选项数组路径 |
props | ✅ | 字段映射配置 |
modelValue 数据绑定
json
{ "modelValue": { "path": "/selectedDoctors" } }dataModel 中存储已选 key 数组:
json
{ "selectedDoctors": ["d1", "d3"] }dataSource 动态数据
json
{
"component": "WTransfer",
"dataSource": "/allDoctors",
"modelValue": { "path": "/selectedDoctors" }
}选项格式:
json
[
{ "key": "d1", "label": "张医生" },
{ "key": "d2", "label": "李医生", "disabled": true }
]action 定义
json
{
"action": {
"event": {
"name": "onDoctorsChange",
"type": "change",
"context": [
{ "key": "selectedDoctors", "value": { "path": "/selectedDoctors" } }
]
}
}
}数据同步机制
- Agent 定义组件,设置
dataSource和modelValue.path - Agent 通过
updateDataModel初始化全部选项和已选 key - 用户移动选项后,渲染器自动
setData写回已选 key 数组 - 配置了
action时触发 A2UI 事件
注意事项
modelValue绑定的是 key 数组,不是完整对象- 选项数据通过
data/dataSource提供,默认字段为key、label - 不支持
filterMethod、renderContent等函数形式属性