V1.0.0
Skip to content

WTreeSelect 组件

树形选择组件,基于 WinDesignNext TreeSelect 封装,在下拉面板中以树形结构展示层级数据,适用于组织架构、菜单权限、分类目录等场景。

与 WCascader 的区别:WTreeSelect 下拉为树形控件,支持多选、任意级可选(checkStrictly)及可搜索;WCascader 为级联面板逐步展开。

基础用法

API

属性类型说明
componentstring固定为 WTreeSelect
modelValueDataBindingValue选中值,支持 path 双向绑定
dataarray静态树数据,与 dataSource 二选一
dataSourcestring从 dataModel 加载树数据的路径
propsobject | DataBindingValue树节点字段映射(label/value/children)
multipleboolean是否多选
checkStrictlyboolean任意级可选(父子不关联)
filterableboolean是否可搜索
clearableboolean是否可清空
placeholderstring占位文本
valueKeystring对象节点的唯一键字段
actionAction选择变化事件

path 支持说明

属性path 支持说明
modelValue选中值双向绑定
dataSource✅(路径字符串)树形数据数组路径
props树节点字段映射配置

modelValue 数据绑定

单选:

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

多选:

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

dataSource 动态树数据

json
{
  "component": "WTreeSelect",
  "dataSource": "/menuTree",
  "modelValue": { "path": "/menuIds" },
  "multiple": true
}

props 字段映射

json
{
  "props": {
    "label": "name",
    "value": "id",
    "children": "subList"
  }
}

action 定义

json
{
  "action": {
    "event": {
      "name": "onDeptChange",
      "type": "change",
      "context": [{ "key": "deptId", "value": { "path": "/deptId" } }]
    }
  }
}

数据同步机制

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

使用场景

场景推荐配置
组织架构选择静态 data + modelValue.path
菜单/权限多选multiple: true + checkStrictly: true
动态树数据dataSource + filterable: true
自定义字段名props 字段映射

注意事项

  • 树数据通过 datadataSource 传入,格式为 { value, label, children? }[]
  • A2UI JSON 不支持 loadfilterNodeMethod 等函数属性
  • props 在 A2UI 协议中表示树节点字段映射,与 Vue 组件 props 概念相同