当前位置: 首页 > news >正文

网站域名域名株洲网站建设兼职

网站域名域名,株洲网站建设兼职,网站建设公司都会有哪些花销,wordpress主页怎么做在构建 React 后台管理系统时#xff0c;使用标签页的方式展示路由是一种高效且用户友好的设计模式。这种实现方式通常允许用户在多个页面之间快速切换#xff0c;并保留页面的状态#xff0c;类似于浏览器的多标签页功能。 需求分析 1.动态标签页#xff1a;根据用户的导…在构建 React 后台管理系统时使用标签页的方式展示路由是一种高效且用户友好的设计模式。这种实现方式通常允许用户在多个页面之间快速切换并保留页面的状态类似于浏览器的多标签页功能。 需求分析 1.动态标签页根据用户的导航行为动态创建标签页。 2.标签页状态管理需要管理哪些标签页已经打开当前激活的标签页以及关闭某些标签页的功能。 3.路由集成每个标签页与 react-router-dom 的路由结合切换标签页时也同步更新路由。 示例实现 以下是基于 React 和 react-router-dom 的后台管理系统支持动态标签页和路由集成。 创建项目安装必要依赖 确保安装了以下依赖 npm create vite npm install npm install react-router-dom antd 完整代码实现 import React, { useState } from react import { BrowserRouter as Router, Routes, Route, useNavigate, useLocation } from react-router-dom import { Tabs, Layout, Menu } from antdconst { Header, Content } Layout const { TabPane } Tabs// 模拟的页面组件 const Dashboard () div仪表盘内容/div const UserList () div用户列表内容/div const Settings () div系统设置内容/div// 标签页的默认配置 const defaultTabs [{ key: /dashboard, label: 仪表盘, component: Dashboard / }]const AppLayout () {const navigate useNavigate()const location useLocation()// 标签页状态const [tabs, setTabs] useState(defaultTabs)const [activeTabKey, setActiveTabKey] useState(defaultTabs[0].key)// 动态添加标签页const addTab (key, label, component) {if (!tabs.some(tab tab.key key)) {setTabs([...tabs, { key, label, component }])}setActiveTabKey(key)navigate(key)}// 关闭标签页const removeTab targetKey {const newTabs tabs.filter(tab tab.key ! targetKey)setTabs(newTabs)if (activeTabKey targetKey) {const nextTab newTabs[newTabs.length - 1]if (nextTab) {setActiveTabKey(nextTab.key)navigate(nextTab.key)} else {setActiveTabKey(/dashboard)navigate(/dashboard)}}}return (Layout style{{ height: 100vh }}HeaderMenu themedark modehorizontal defaultSelectedKeys{[/dashboard]}Menu.Item key/dashboard onClick{() addTab(/dashboard, 仪表盘, Dashboard /)}仪表盘/Menu.ItemMenu.Item key/users onClick{() addTab(/users, 用户列表, UserList /)}用户列表/Menu.ItemMenu.Item key/settings onClick{() addTab(/settings, 系统设置, Settings /)}系统设置/Menu.Item/Menu/HeaderContent style{{ padding: 16px }}{/* 标签页 */}Tabstypeeditable-cardonChange{key {setActiveTabKey(key)navigate(key)}}activeKey{activeTabKey}onEdit{(targetKey, action) {if (action remove) {removeTab(targetKey)}}}{tabs.map(tab (TabPane tab{tab.label} key{tab.key} closable{tab.key ! /dashboard}{tab.component}/TabPane))}/Tabs{/* 路由 */}RoutesRoute path/dashboard element{Dashboard /} /Route path/users element{UserList /} /Route path/settings element{Settings /} //Routes/Content/Layout) }const App () (RouterAppLayout //Router )export default App 功能点说明 1.动态标签页管理 标签页通过 tabs 数组动态维护新增时向数组添加对象关闭时从数组中移除对象。 使用 TabPane 的 closable 属性控制是否允许关闭标签页。2.同步路由和标签页 点击菜单或切换标签页时更新 activeTabKey 并通过 useNavigate 同步路由。 关闭标签页时如果关闭的是当前激活的标签页自动切换到最后一个标签页。3.默认标签页 默认标签页如仪表盘永远存在且不可关闭。4.路由内容展示 Routes 定义了路由和对应的页面内容标签页中渲染的组件会与路由匹配。5.样式优化建议 1.标签页溢出时滚动 Tabs 自带滚动支持当标签页过多时可以左右滚动Tabs typeeditable-card sizesmall tabBarGutter{4} /2.页面布局优化 添加侧边栏Sider用于更复杂的导航。 使用 Content 的内边距和背景色控制页面内容区域样式。扩展功能 持久化标签页 将标签页的状态保存到 localStorage并在页面刷新时恢复。useEffect(() {const savedTabs JSON.parse(localStorage.getItem(tabs)) || defaultTabs;setTabs(savedTabs); }, []);useEffect(() {localStorage.setItem(tabs, JSON.stringify(tabs)); }, [tabs]); 多级路由支持 在标签页中加载嵌套路由。权限管理 根据用户权限动态控制可见的标签页和菜单。通过以上实现你可以轻松构建一个支持动态标签页、路由集成的后台管理系统并扩展为更复杂的功能。
http://www.hkea.cn/news/14315541/

相关文章:

  • 广州网站排名优化公司酒店如何进行网络营销
  • 中卫建设厅网站知道抖音视频是怎么做的网站嘛
  • 中职专业设计网站株洲市区网站建设公司
  • phpcms 怎么做视频网站企业管理网站
  • cms做淘宝客网站展厅设计方案
  • 张家口全景网站建设网站建设多少钱一个
  • 番禺做网站800元网站推广营销怎么做
  • 运城做网站方式方法荆州网站开发好招人吗
  • 如何让自己做的网站可以播放歌曲深圳燃气公司官网
  • 母婴网站模板小程序登录不上去一般是什么原因
  • 公司做的网站账务处理安定网站建设
  • 网站建设甲方原因造成停工建网站赚钱方法
  • 手工网站和自助建站式网站却别qq推广赚钱一个2元
  • 建设企业网站官网企业wow做宏的网站
  • 济南行知网网站建设cod建站系统
  • 公司网站制作的费用申请书wordpress多说
  • 网站目录结构 权限被执行人名单查询
  • 深圳企业网站哪家好网络工程的公司有哪些
  • 成都网站设计新闻电商网站前端页面内容编写
  • 怎样创建个人销售网站做网站的公司怎么赚钱
  • 17网站一起做网店不发货盐城公司注册
  • 网上哪里给公司做网站长沙楼盘信息官网
  • 四川网站建设企业网站制作wordpress首页显示vip标签
  • 做网站排名收益电子商务网站建设程序的开发
  • 做现金贷网站的公司深圳品牌网站
  • 广西网站建设设计山东兴润建设集团网站
  • 深圳做响应式网站制作营商环境网站建设
  • 做网站的怎么学中国工厂网网址
  • 搜狗网站制作做空机构的网站
  • 如何做自己的网站链接学仿网站