Skip to content

BizTreeTransfer 树形穿梭框 ​

左右双树的树形穿梭框:左树全量勾选 → 右树实时投影已选(勾选节点按层级嵌套显示,半选祖先作纯容器节点),右树节点 hover 移除按钮反向取消勾选。v-model 为已选 key 集合(受控),check-strictly 支持父子不关联模式,双侧搜索过滤,标题栏计数。菜单授权、数据权限配置、角色资源分配——替代 el-transfer 仅支持平铺列表的场景。

采用即时同步交互(勾选即穿梭,无中间确认按钮),左右状态始终一致,适合授权类配置页;提交时机由业务方在保存按钮上自行决定。

基础用法 ​

待选择2 / 9
系统管理
用户管理
用户列表
用户分组
角色管理
操作日志
订单中心
订单列表
售后管理
已选择已选 2 项
系统管理
角色管理
订单中心
订单列表

已选 keys:12、21

v-model 已选 key 集合,父子关联模式(勾父含子),右树实时投影。

父子不关联 ​

可选区域2 / 8
华南区域
广东省
深圳市
广州市
福建省
华东区域
浙江省
江苏省
已授权区域已选 2 项
华南区域
广东省
华东区域
浙江省
check-strictly 勾父不含子逐项独立,右树仅显示所勾节点本身;titles 自定义双侧标题。

双侧搜索 ​

待选择2 / 11
商品中心
商品列表
分类管理
品牌管理
营销中心
优惠券
满减活动
秒杀会场
会员中心
会员列表
积分规则
已选择已选 2 项
商品中心
商品列表
营销中心
优惠券
searchable 左右独立过滤,命中路径自动展开。

自定义节点 ​

待选择0 / 6
工作台
待办事项个人待办与催办
快捷入口常用功能收藏
审批中心
我的申请发起的流程
我的审批待我处理的单据
已选择已选 0 项
暂无数据
default slot 双侧生效(图标 + 描述文案),tree-props 重定义 label 字段。

外部受控 ​

待选择2 / 7
基础权限
查看
新增
编辑
高级权限
删除
导出
已选择已选 2 项
基础权限
查看
新增
v-model 双向同步,外部重置直接改绑定值,组件自动回写左树勾选态;change 在每次勾选变化时触发。

禁用与空态 ​

禁用
待选择3 / 4
通知渠道
站内信
短信
邮件
已选择已选 3 项
通知渠道
站内信
短信
邮件
整体禁用、空数据空态、右树 hover 逐项移除。

Props ​

属性名类型默认值说明
dataBizTreeTransferNodeData[][]左树全量数据(右树由勾选结果投影生成)
v-modelArray<string | number>[]已选节点 key 集合(受控,外部变更自动回写左树)
tree-propsTreeOptionProps—字段映射(透传 el-tree props:label / children / disabled / isLeaf)
node-keystring'id'节点唯一键字段名
check-strictlybooleanfalse复选父子不关联(勾父不含子,右树仅显示所勾节点本身)
searchablebooleanfalse双侧搜索框
filter-placeholderstring'请输入关键字'搜索占位文案
filter-method(query, data) => boolean—自定义过滤方法(默认 label 包含匹配,不区分大小写)
titles[string, string]['待选择', '已选择']双侧面板标题
heightnumber | string320面板主体高度(超出滚动)
disabledbooleanfalse整体禁用
empty-textstring'暂无数据'空态文案

Events ​

事件名参数说明
update:model-value(keys: Array<string | number>)已选集合变化(v-model)
change(keys: Array<string | number>)已选集合变化(勾选 / 移除 / 清空后触发)

Slots ​

插槽名说明
default节点内容双侧生效,作用域 { node, data }(不传时渲染 label)

Expose ​

名称类型说明
getLeftTree() => TreeInstance左树 el-tree 实例
getCheckedNodes() => BizTreeTransferNodeData[]已选完整节点数据集合(含各级勾选节点)
clear() => void清空已选

TIP

已选项回显依赖 data 中包含对应节点(组件从全量树投影右树);若后端仅返回 key 列表,先反查补全数据结构再传入。