import { connect } from 'umi'; import React from 'react'; import './global.less'; import Router from '@/Frameworks/SysRouter'; import Os from '../Os'; window.GT_APP = new Os(); window.GT_APP.funcMain.setActive(true); // window.GT_APP.funcLimitedSpace.setActive(true); const Home: React.FC = (props: any) => { const { page: { active, zoomOutList }, dispatch, } = props; const zoomOut = (index: number, options: GT.IPageOptions) => { dispatch({ type: 'page/zoomOut', payload: { index, options }, }); }; const zoomIn = (index: number) => { dispatch({ type: 'page/zoomIn', payload: { index }, }); }; const onClickPage = (index: number) => { dispatch({ type: 'page/setActive', payload: { index }, }); }; return (
{active.map((aItem: GT.IActive, index: number) => { const { key, params = {}, id, options } = aItem; const Component = Router[key]; if (!Component) { console.error(`key=${key} 不存在`); return
`key=${key} 不存在`
; } return ( zoomOut(index, options)} onActive={() => { onClickPage(index); }} /> ); })}
zoomIn(index)} />
); }; function ZoomOutList(props: { list: GT.IActive[]; zoomIn: Function }) { const { list, zoomIn } = props; return (
{list.map((item) => (
zoomIn(item)} > {item.options?.name}
))}
); } export default connect(({ page }: { page: any }) => ({ page }))(Home);