/* * @Author: your name * @Date: 2022-04-11 15:53:05 * @Description: 统一布局组件 * @FilePath: /zl-large-screen/src/components/LargeScreenUnitWrap/index.tsx */ import React, { useEffect, useState } from 'react'; import Icon from '../Icon/index'; import { IBlockTitle } from '../../type/LargeScreenBlockTitle'; import { DownOutlined } from '@ant-design/icons'; import { Dropdown, Menu } from 'antd'; import './style.scss'; function LargeScreenBlockTitle(props: IBlockTitle) { const { titleType, tabsList, title, tabsEvent, activeTab, rightBtn, scenesEvent, layerListEvent, layerType, clickBack, isClick = false } = props; const [layerTypeState, setLayerTypeState] = useState(layerType); // 2D/3D useEffect(() => { setLayerTypeState(layerType); }, [layerType]); //添加场景 const addScene = () => { // 清空选中的页面 scenesEvent?.('addScene'); }; // 2D/3D const items = [ { key: '2D', label: '2D' }, { key: '3D', label: '3D' } ]; // 2D/3D点击事件 const menuClick = (value: string) => { layerListEvent?.(null, value, value, 'changeLayerType'); }; return ( <> {isClick ? (
clickBack()}> {title}
) : (
{title === '图层列表' ? (
图层列表 menuClick(key)} selectedKeys={[layerTypeState]} items={items} /> } trigger="click" >
{layerTypeState}
) : rightBtn ? ( <> {title ?? '页面'}

) : titleType === 'tabs' ? ( ) : ( <>{title ?? '页面'} )}
)} ); } export default LargeScreenBlockTitle;