UNPKG

hm-react-cli

Version:

Create a Huimei React project by module

59 lines (51 loc) 1.55 kB
import { Transfer } from 'antd'; import { useState, useEffect } from 'react'; import { connect } from 'react-redux'; const mapState = (state) => ({ count: state.count }); const mapDispatch = ({ count: { increment, incrementAsync } }) => ({ increment: () => increment(1), incrementAsync: () => incrementAsync(1) }); function SwitchDemo(props) { const [mockData, setMockData] = useState([]); const [targetKeys, setTargetKeys] = useState([]); function getMock() { const targetKeys = []; const mockData = []; for (let i = 0; i < 20; i++) { const data = { key: i, title: `内容${i + 1}`, description: `内容${i + 1}的描述`, chosen: Math.random() * 2 > 1 }; if (data.chosen) { targetKeys.push(data.key); } mockData.push(data); } setMockData(mockData); setTargetKeys(targetKeys); } useEffect(() => { getMock(); }, []); function handleChange(targetKeys, direction, moveKeys) { console.log(targetKeys, direction, moveKeys); setTargetKeys(targetKeys); } return ( <div> {props.count} <Transfer dataSource={mockData} targetKeys={targetKeys} onChange={handleChange} render={(item) => item.title} /> </div> ); } export default connect(mapState, mapDispatch)(SwitchDemo);