UNPKG

3.65 kBMarkdownView Raw
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```
20npm install --save bee-transfer
21```
22组件调用
23```js
24import Transfer from 'bee-transfer';
25
26const mockData = [];
27for (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
37ReactDOM.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
52import "./node_modules/bee-transfer/src/Transfer.scss"
53//或是
54import "./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