首页
友链
壁纸
留言
今日热榜
更多
关于
时光
推荐
精品流量卡
Search
1
都二十多年了,你的梦为什么还没碎!
57,100 阅读
2
2022年5个好用的 BT/ 磁力链接下载工具推荐 |Windows 、安卓系统
37,479 阅读
3
nps内网穿透实现外网访问树莓派
32,441 阅读
4
实践利用宝塔建emlog个人博客-超详细【原创】
26,143 阅读
5
Typecho-Joe-Theme主题帮助文档
24,680 阅读
闲杂乱码
Python
网站源码
微信小程序
娱乐分享
Is相册
软件工具
登录
Search
标签搜索
PHP
HTML
API
Javascript
源码
JS
Vue
Github
CloudFlare
接口
函数
SQL
ASP.NET
MVC
EF
T4模板
后台管理
CDN
微信小程序
MAC
韩小韩
累计撰写
262
篇文章
累计收到
1,307
条评论
首页
栏目
闲杂乱码
Python
网站源码
微信小程序
娱乐分享
Is相册
软件工具
页面
友链
壁纸
留言
今日热榜
关于
时光
推荐
精品流量卡
搜索到
1
篇与
Menu
的结果
2023-08-01
Ant Design Vue 4.0 侧边导航栏Menu组件封装
{callout color="#ee5a49"}Ant Design Vue 4.0 a-modal弹窗组件封装{/callout}<template> <a-layout-sider class="menu-main"> <div class="logo">Han</div> <a-menu v-model:selectedKeys="routerPathKey" theme="light" mode="inline" @click="onTitleClick" :openKeys="ACTIVE_NAV"> <template v-for="itm in NAV_MENU" :key="itm.name"> <a-sub-menu v-if="itm.children && itm.children.length > 0" :key="itm.name"> <template #title> <icon-font :type="(itm.meta?.icon as any)" /> <span>{{ itm.name }}</span> </template> <a-menu-item v-for="_itm in itm.children" :key="_itm.name"> <icon-font :type="(_itm.meta?.icon as any)" /> <span>{{ _itm.name }}</span> </a-menu-item> </a-sub-menu> <a-menu-item v-if="!itm.children || itm.children.length < 1" :key="itm.name"> <icon-font :type="(itm.meta?.icon as any)" /> <span>{{ itm.name }}</span> </a-menu-item> </template> <a-menu-item key="敬请期待" disabled> <icon-font type="han-icon-jingqingqidai1" /> <span>敬请期待</span> </a-menu-item> </a-menu> </a-layout-sider> </template> <script lang="ts" setup> import { ref } from 'vue'; import { useRouter } from 'vue-router'; const router = useRouter(); // 阿里图标库 import { createFromIconfontCN } from '@ant-design/icons-vue'; const IconFont = createFromIconfontCN({ scriptUrl: '/icon/nav-icon/iconfont.js' }); // 路由表 const NAV_MENU = router.options.routes[0].children; // 路由跳转 const onTitleClick = (res: any) => { router.push({ name: res.key }); }; // 路由监控 const routerPathKey = ref<Array<any>>([]); // 刷新页面展开一级菜单 const ACTIVE_NAV = ref<string[]>([]); const initFN = () => { ACTIVE_NAV.value = []; routerPathKey.value = [router.currentRoute.value.name]; NAV_MENU?.forEach((itm: any) => { itm.children?.find((item: { name: string }) => { return item.name == routerPathKey.value[0] && ACTIVE_NAV.value.push(itm.name); }) }); }; initFN(); router.afterEach((to, from) => { initFN(); }) </script> <style lang="less" scoped> @import 'index.less'; </style>
2023年08月01日
8,433 阅读
0 评论
0 点赞