1 | # bee-transfer
|
2 |
|
3 | [![npm version](https://img.shields.io/npm/v/bee-transfer.svg)](https://www.npmjs.com/package/bee-transfer)
|
4 | [![Build Status](https://img.shields.io/travis/tinper-bee/bee-transfer/master.svg)](https://travis-ci.org/tinper-bee/bee-transfer)
|
5 | [![Coverage Status](https://coveralls.io/repos/github/tinper-bee/bee-transfer/badge.svg?branch=master)](https://coveralls.io/github/tinper-bee/bee-transfer?branch=master)
|
6 | [![devDependency Status](https://img.shields.io/david/dev/tinper-bee/bee-transfer.svg)](https://david-dm.org/tinper-bee/bee-transfer#info=devDependencies)
|
7 | [![NPM downloads](http://img.shields.io/npm/dm/bee-transfer.svg?style=flat)](https://npmjs.org/package/bee-transfer)
|
8 | [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/tinper-bee/bee-transfer.svg)](http://isitmaintained.com/project/tinper-bee/bee-transfer "Average time to resolve an issue")
|
9 | [![Percentage of issues still open](http://isitmaintained.com/badge/open/tinper-bee/bee-transfer.svg)](http://isitmaintained.com/project/tinper-bee/bee-transfer "Percentage of issues still open")
|
10 |
|
11 |
|
12 | 两框之间的元素迁移,非常直观且有效。一个或多个元素选择后点击方向按钮转到另一列框中。左栏是“源”,右边是“目标”
|
13 |
|
14 | ## 使用
|
15 |
|
16 | ### 使用单独的transfer包
|
17 | #### 组件引入
|
18 | 先进行下载bee-transfer包
|
19 | ```
|
20 | npm install --save bee-transfer
|
21 | ```
|
22 | 组件调用
|
23 | ```js
|
24 | import Transfer from 'bee-transfer';
|
25 |
|
26 | const mockData = [];
|
27 | for (let i = 0; i < 20; i++) {
|
28 | mockData.push({
|
29 | key: i.toString(),
|
30 | title: `content${i + 1}`,
|
31 | description: `description of content${i + 1}`,
|
32 | disabled: i % 3 < 1,
|
33 | });
|
34 | }
|
35 |
|
36 |
|
37 | ReactDOM.render(
|
38 | <Transfer
|
39 | dataSource={mockData}
|
40 | titles={['Source', 'Target']}
|
41 | render={item => item.title}
|
42 | />
|
43 | , document.getElementById('target'));
|
44 | ```
|
45 | #### 样式引入
|
46 | - 可以使用link引入build目录下Transfer.css
|
47 | ```
|
48 | <link rel="stylesheet" href="./node_modules/bee-transfer/build/Transfer.css">
|
49 | ```
|
50 | - 可以在js中import样式
|
51 | ```js
|
52 | import "./node_modules/bee-transfer/src/Transfer.scss"
|
53 | //或是
|
54 | import "./node_modules/bee-transfer/build/Transfer.css"
|
55 | ```
|
56 |
|
57 |
|
58 |
|
59 |
|
60 |
|
61 |
|
62 | ## API
|
63 |
|
64 | |参数|说明|类型|默认值|
|
65 | |:--|:---:|:--:|---:|
|
66 | |dataSource|设置数据源。当有targetKey props存在时,dataSource的数据刨去targetKey数据,剩下的都放在左边列表|[]|[]|
|
67 | |render|自定义的展示出来的item,需要展示哪些字段|Function(record)|-|
|
68 | |targetKeys|展示在右边列表的数据集|[]|[]|
|
69 | |selectedKeys|所有选中的item的keys|[]|[]|
|
70 | |onChange|当item在穿梭成功后的回调 参数(targetKeys, direction, moveKeys)|func|-|
|
71 | |onSelectChange| 当选中的item发生改变时的回调 参数(sourceSelectedKeys, targetSelectedKeys)|fun|-|
|
72 | |onScroll| 当滑动可选的item列表的回调 参数(direction, event)|func|-|
|
73 | |listStyle|自定义的columns的样式表|object |-|
|
74 | |className|class|string|''|''|
|
75 | |titles|两columns的title|[]|-|
|
76 | |operations|自定义按钮操作|[]|'>', '<'|
|
77 | |showSearch|是否显示搜索框|boolean |false|
|
78 | |filterOption|搜索过滤方法 参数(inputValue, option)|func或者boolean |-|
|
79 | |searchPlaceholder|搜索框的默认显示文字|string|'Search here'|
|
80 | |notFoundContent|当没有相关内容的显示内容|string或ReactNode| 'The list is empty'|
|
81 | |footer|渲染底部的dom|ReactNode|-|
|
82 | |lazy|懒加载dom|object|-|
|
83 | |onSearchChange|当搜索域变化的回调函数 参数(direction: 'left'|'right', event: Event)|func|-|
|
84 |
|
85 |
|
86 | #### 开发调试
|
87 |
|
88 | ```sh
|
89 | $ npm install -g bee-tools
|
90 | $ git clone https://github.com/tinper-bee/bee-transfer
|
91 | $ cd bee-transfer
|
92 | $ npm install
|
93 | $ npm run dev
|
94 | ```
|
95 |
|
\ | No newline at end of file |