@ -9,33 +9,35 @@ Double column transfer choice box.
## When To Use
Move the elements between two columns in an intuitive way to make a choice.
To 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
| render | the function to draw a record line| Function(record) | |
| targetKeys | a set of keys of the right box | Array | [] |
| onChange | a callback function, can be executed when the choice is changing | Function(targetKeys, direction, moveKeys) | |
| listStyle | custom style of the two transfer boxes | Object | |
| className | custom class | String | |
| titles | a set of titles that is sorted from left to right| Array | ['source list', 'target list'] |
| operations | a set of operations that is sorted form top to bottom | Array | [] |
| showSearch | to set if the search box can be shown | Boolean | false |
| searchPlaceholder | the default value of the search box | String | 'Please input the content' |
| notFoundContent | display the content when list is empty | React.node | 'The list is empty' |
| footer | a function to render the footer | Function(props) | |
| dataSource | Used for setting the sourcedata. The elements that are part of this array will be present the left column. Except the elements whose keys are included in `targetKeys` prop. | Array | [] |
| 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 string that would contain one or more attributes of that record. | Function(record) | |
| targetKeys | A set of keys of elements that are listed on the right column. | Array | [] |
| onChange | A callback function that is executed when the transfer between columns is complete. | Function(targetKeys, direction, moveKeys) | |
| listStyle | A custom CSS style used for rendering the transfer columns. | Object | |
| className | A custom CSS class. | String | |
| titles | A set of titles that are sorted from left to right. | Array | ['source list', 'target list'] |
| operations | A set of operations that are sorted form top to bottom. | Array | [] |
| showSearch | If included, a search box is shown on each column. | Boolean | false |
| searchPlaceholder | The hint text of the search box. | String | 'Please input the content' |
| notFoundContent | Text to display when a column is empty. | React.node | 'The list is empty' |
| footer | A function used for rendering the footer. | Function(props) | |
## Warning
According the [standard](http://facebook.github.io/react/docs/multiple-components.html#dynamic-children) of React, the key should always be supplied directly to the components in the array. In Transfer, the keys should be set for `dataSource`. `dataSource` use each record's `key` as the default unique flag.
According the [standard](http://facebook.github.io/react/docs/multiple-components.html#dynamic-children) of React, 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` attribute is used as an unique identifier.
If there's no `key` in your data, you should use `rowKey` to specify the primary key.
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.