跳到主要内容
前端术语库

穿梭框

Transfer

UI 组件也叫:穿梭选择器、双栏选择、Transfer List、左右选择框

一句话:左右两个列表加中间的箭头按钮,把项目从「可选」一侧移到「已选」一侧,用来批量挑选。

详细解释

穿梭框由左右两栏组成:左边是全部可选项,右边是已选项,中间有向右、向左两个箭头按钮。用户在左边勾选若干项,点向右箭头就把它们移到右边;反过来也能移回去。每栏顶部通常有搜索框和「全选」复选框,并显示「已选 3 / 共 20 项」。典型场景:给角色分配权限、选择要导出的字段、把成员加入项目组。

和 下拉选择(多选模式)相比,穿梭框能同时看到「选了什么」和「还剩什么」,适合在几十到几百项里挑一批。和 树形控件 的区别:数据有层级时用带复选框的树,数据是平铺的一列时用穿梭框。和 级联选择 差别更大:级联选择是沿层级选出一个值。

示例

灰度线框示意,只表达结构,不代表具体视觉风格。

怎么跟 AI 说

可以直接贴给 Cursor、Claude Code 等工具,把里面的业务内容换成你自己的。

做一个成员分配穿梭框:左栏「全部成员」、右栏「已加入」,每栏顶部有搜索框和全选复选框,列表项前有复选框;中间上下两个箭头按钮,没有勾选时置灰;每栏标题右侧显示「已选 2 / 共 30 人」,列表超过 8 项时栏内滚动。

结构与适用场景

结构描述

由左右两个带标题、搜索框和复选框列表的面板,以及中间的左右移动按钮组成。

适用场景

  • 从几十到几百个平铺选项里挑出一批,并需要随时看到已选结果
  • 给角色分配权限、给项目添加成员这类在两组之间调配的操作
  • 选择要导出或显示的字段,并可能调整已选字段

不适用场景

  • 选项只有几个,用复选框组或多选下拉更省空间
  • 数据有明显的上下级结构,用带复选框的树形控件
  • 表单里只需要选出一个值
  • 手机等窄屏上,左右两栏并排放不下

常见坏用法

  • 左右两栏没有搜索框,几百项里只能靠滚动一个个找
  • 中间按钮没有禁用状态,没勾选时点了也没反应
  • 两栏没有数量统计,看不出一共选了多少

识别特征

  • 左右并排两个带边框的列表面板
  • 两个面板中间有一上一下两个箭头按钮
  • 面板顶部有标题、全选复选框和数量统计

DOM 线索

插件本地识别时匹配的 CSS 选择器(标签、ARIA role、常见组件库 class)。

  • .ant-transfer
  • .el-transfer
  • .arco-transfer
  • .t-transfer
  • .n-transfer