Transfer the elements between two columns in an intuitive and efficient way.
One or more elements can be selected from either column, one click on the proper `direction` button, and the transfer is done. The left column is considered the `source` and the right column is considered the `target`. As you can see in the API description, these names are reflected in.
| Property | Description | Type | Default | Version |
| --- | --- | --- | --- | --- |
| dataSource | Used for setting the source data. The elements that are part of this array will be present the left column. Except the elements whose keys are included in `targetKeys` prop. | \[{key: string.isRequired,title: string.isRequired,description: string,disabled: bool}\] | \[] | |
| render | The function to generate the item shown on a column. Based on an record (element of the dataSource array), this function should return a element which is generated from that record. Also, it can return a plain object with `value` and `label`, `label` is a element and `value` is for title | Function(record) \| slot | | |
| onItemSelectAll | Select a group of items | (keys: string[], selected: boolean) | |
| selectedKeys | Selected items | string[] | |
#### example
```html
<a-transfer>
<template
#children="{
direction,
filteredItems,
selectedKeys,
disabled: listDisabled,
onItemSelectAll,
onItemSelect,
}"
>
<your-component/>
<template>
</a-transfer>
```
## Warning
According the standard of Vue, the key should always be supplied directly to the elements in the array. In Transfer, the keys should be set on the elements included in `dataSource` array. By default, `key` property is used as an unique identifier.
If there's no `key` in your data, you should use `rowKey` to specify the key that will be used for uniquely identify each element.