import { Switch, Transfer } from '@btri-ui/base'; import { TransferDirection } from 'antd/es/transfer'; import React, { useState } from 'react'; interface RecordType { key: string; title: string; description: string; disabled: boolean; } const mockData: RecordType[] = Array.from({ length: 20 }).map((_, i) => ({ key: i.toString(), title: `选项${i + 1}`, description: `description of content${i + 1}`, disabled: i % 3 < 1, })); const oriTargetKeys = mockData .filter((item) => Number(item.key) % 3 > 1) .map((item) => item.key); const App: React.FC = () => { const [targetKeys, setTargetKeys] = useState(oriTargetKeys); const [selectedKeys, setSelectedKeys] = useState([]); const [disabled, setDisabled] = useState(false); const handleChange = ( newTargetKeys: string[], direction: TransferDirection, moveKeys: string[], ) => { setTargetKeys(newTargetKeys); console.log('targetKeys: ', newTargetKeys); console.log('direction: ', direction); console.log('moveKeys: ', moveKeys); }; const handleSelectChange = ( sourceSelectedKeys: string[], targetSelectedKeys: string[], ) => { setTargetKeys([...targetKeys, ...sourceSelectedKeys]); console.log('sourceSelectedKeys: ', sourceSelectedKeys); console.log('targetSelectedKeys: ', targetSelectedKeys); }; return ( <> item.title} disabled={disabled} type="simple" /> ); }; export default App;