UNPKG

cjd-parkball

Version:

> 中后台业务组件库,中后台就像公园,进入需要买门票(登录),所以以 Parkball(公园球) 命名,公园内必定捕获!作为一个组件库,提供使用方法文档,方便开发者的调用

77 lines (61 loc) 1.91 kB
--- category: 2 title: 基本用法 title_en: Basic --- zh-CN 最基本的用法,展示了 `dataSource``targetKeys`、每行的渲染函数 `render` 以及回调函数 `onChange` `onSelectChange` `onScroll` 的用法。 en-US The most basic usage of `Transfer` involves providing the source data and target keys arrays, plus the rendering and some callback functions. ````jsx import { Transfer } from 'parkball'; const mockData = []; for (let i = 0; i < 20; i++) { mockData.push({ key: i.toString(), title: `content${i + 1}`, description: `description of content${i + 1}`, disabled: i % 3 < 1, }); } const targetKeys = mockData .filter(item => +item.key % 3 > 1) .map(item => item.key); class App extends React.Component { state = { targetKeys, selectedKeys: [], } handleChange = (nextTargetKeys, direction, moveKeys) => { this.setState({ targetKeys: nextTargetKeys }); console.log('targetKeys: ', targetKeys); console.log('direction: ', direction); console.log('moveKeys: ', moveKeys); } handleSelectChange = (sourceSelectedKeys, targetSelectedKeys) => { this.setState({ selectedKeys: [...sourceSelectedKeys, ...targetSelectedKeys] }); console.log('sourceSelectedKeys: ', sourceSelectedKeys); console.log('targetSelectedKeys: ', targetSelectedKeys); } handleScroll = (direction, e) => { console.log('direction:', direction); console.log('target:', e.target); } render() { const state = this.state; return ( <Transfer dataSource={mockData} titles={['Source', 'Target']} targetKeys={state.targetKeys} selectedKeys={state.selectedKeys} onChange={this.handleChange} onSelectChange={this.handleSelectChange} onScroll={this.handleScroll} render={item => item.title} /> ); } } ReactDOM.render(<App />, mountNode); ````