feat: 新增菜单图标, 搜索组件

This commit is contained in:
wenhua
2023-11-10 14:31:25 +08:00
parent 2eeaf31cf4
commit ff24a5cec9
52 changed files with 11561 additions and 34 deletions

View File

@@ -1,4 +1,4 @@
import '../../assets/styles/appmain.scss'
import '@/assets/styles/appmain.scss'
import { Outlet } from "react-router-dom";
export default function AppMain() {

View File

@@ -1,14 +1,28 @@
import { useEffect } from "react";
import { Layout } from 'antd'
import { useSelector } from 'react-redux'
import { useDispatch, useSelector } from 'react-redux'
import SideBar from "./sidebar";
import Navbar from "./navbar";
import AppMain from "./appmain";
import '../assets/styles/layout.scss'
import { addRoutes, getAsyncRouters } from '../stores/permission';
const { Header, Sider, Content } = Layout;
export default function LayOut() {
const collapsed = useSelector((store: any) => store.sidebar)
const dispatch = useDispatch()
const requestAsyncRoutes = async () => {
const { payload } = await dispatch(getAsyncRouters() as any)
dispatch(addRoutes(payload))
}
useEffect(()=>{
requestAsyncRoutes()
}, [])
window.addEventListener('unload', ()=>{
requestAsyncRoutes()
})
return(
<Layout className="layout-box">
<Sider trigger={null} collapsible collapsed={collapsed}>

View File

@@ -0,0 +1,19 @@
import { useMemo } from "react"
interface IMenuIconProps {
prefix?: string
name: string
color?: string,
size?: number | string
}
export default function Menuicon(props: IMenuIconProps) {
const { prefix = 'icon', name, color, size = 16 } = props
const symbolId = useMemo(() => `#${prefix}-${name}`, [prefix, name])
return (
<span className="anticon">
<svg aria-hidden="true" width={size} height={size} fill={color} >
<use href={symbolId} fill={color} />
</svg>
</span>
)
}