Transfer 穿梭器
你知道用途吗?
基础用法
使用 v-model
属性,绑定当前选中的项,list
属性为数据列表。
WARNING
注意1: v-model
中的元素必须是 list
中元素的 id
值。
注意2: list
中的元素必须是一个对象且拥有 id
、label
、checked
、disabled
属性。除此之外,您也可以定义一些自己的属性。
List 10/10
- Vue
- React
- Svelte
- Node.js
- Express
- Next.js
- Uniapp
- Nuxt.js
- Element Plus
- Ant Design
List 20/0
自定义标题
使用 titles
属性,自定义列表标题,它是一个二元组。
容器10/10
- Vue
- React
- Svelte
- Node.js
- Express
- Next.js
- Uniapp
- Nuxt.js
- Element Plus
- Ant Design
容器20/0
可拖动的
使用 draggable
属性,使选项可以被拖拽。
TIP
试着拖动 “容器1” 中的选项到 “容器2” 中,当然,也可以拖回来。
容器10/10
- Vue
- React
- Svelte
- Node.js
- Express
- Next.js
- Uniapp
- Nuxt.js
- Element Plus
- Ant Design
容器20/0
触发事件
我们提供了 change
、check-change
等事件。
列表10/10
- Vue
- React
- Svelte
- Node.js
- Express
- Next.js
- Uniapp
- Nuxt.js
- Element Plus
- Ant Design
列表20/0
APIs
属性
属性名 | 说明 | 类型 | 默认值 | 是必需项 |
---|---|---|---|---|
v-model | 已选择的数据 | string[] | —— | true |
list | 数据列表 | T extends TransferItem[] | —— | true |
show-total | 是否显示总数与选中数 | boolean | fasle | false |
titles | 定义标题 | [string, string] | ['List 1', 'List 2'] | false |
draggable | 选项是否可拖拽 | boolean | false | false |
事件
事件名 | 触发时机 | 参数 | 参数说明 |
---|---|---|---|
change | 数据发生改变时触发 | (to: 'left' | 'right', data: transferItem[]): void | to : 数据去往的列表 data : 被改变的数据 |
check-change | 选中状态发生改变时触发 | (type: 'left' | 'right', data: transferItem[]): void | type : 状态改变时的列表 data : 状态被改变的数据 |