import React, { useEffect, useState } from 'react'; import { VideoJS } from '../VideoJS/index.jsx'; import H5Frame from '../H5Frame/index'; import { Dropdown, Menu } from 'antd'; function Page(props: IPage) { const { keys, index, active, componentList, pageMenu, pageEvent, wh, styleConfig, backgroundSize } = props; const [newComponentList, setComponentList] = useState([]); //元件的数据 useEffect(() => { //有可能是成组的数据,转成一维数组 let oldData = []; oldData = oneDimensionalChange(componentList, oldData); setComponentList(oldData); }, [componentList]); const oneDimensionalChange = ( list: IComponentList[], oldData: IComponentList[] ) => { Array.isArray(list) && list?.length > 0 && list?.forEach((item) => { if (item?.elementInfo) { oldData.push({ key: item?.key, selected: item?.selected, status: item?.status, layerIndex: item?.layerIndex, elementIndex: item?.elementIndex, ...item, ...item?.elementInfo }); } else if (item?.children && item?.children?.length > 0) { oneDimensionalChange(item.children, oldData); } }); return oldData; }; //page的点击事件和右键事件 const clickPage = (type: string) => { pageEvent?.({ key: keys, index: index, styleConfig: styleConfig }, type); }; //菜单的点击事件 const clickMenu = ({ key }) => { pageEvent?.({ key: keys, index: index, menuKey: key }, 'menuClick'); }; //渲染菜单 const menu = () => { return
; }; //渲染元素 const renderElement = (item, index) => { if (item?.type === 'video') { return (