vue(vue3.0)在使用具名插槽时显示为空白,<template slot=“title“>展示不出来

Vue3.0中引入了一个重大变化,即使用v-slot替代了旧版的slot语法。这一改变使得模板的使用更加规范,提高了代码的可读性和一致性。v-slot现在只能在template标签上使用,这一改进旨在优化组件的结构和功能。本文深入探讨了这一变化,并提供了相关示例帮助理解。
部署运行你感兴趣的模型镜像

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

<template> <el-menu :default-active="$route.path" class="sidebar-menu" background-color="#fff" text-color="#333" active-text-color="#F79800" router> <el-submenu index="1"> <template slot="title"> <i class="el-icon-menu"></i> <span>我的店铺</span> </template> <el-menu-item index="/myShop"> <span slot="title">店铺管理</span> </el-menu-item> </el-submenu> <el-submenu index="2"> <template slot="title"> <i class="el-icon-menu"></i> <span>商品管理</span> </template> <el-menu-item index="/goodsList"> <span slot="title">商品列表</span> </el-menu-item> </el-submenu> <el-submenu index="3"> <template slot="title"> <i class="el-icon-menu"></i> <span>订单管理</span> </template> <el-menu-item index="/goodsList"> <span slot="title">外卖订单</span> </el-menu-item> <el-menu-item index="/goodsList"> <span slot="title">到店订单</span> </el-menu-item> <el-menu-item index="/goodsList"> <span slot="title">顾客评价</span> </el-menu-item> </el-submenu> <el-submenu index="4"> <template slot="title"> <i class="el-icon-menu"></i> <span>活动管理</span> </template> <el-menu-item index="/goodsList"> <span slot="title">优惠券</span> </el-menu-item> </el-submenu> <el-submenu index="5"> <template slot="title"> <i class="el-icon-menu"></i> <span>经营管理</span> </template> <el-menu-item index="/goodsList"> <span slot="title">店铺数据</span> </el-menu-item> <el-menu-item index="/goodsList"> <span slot="title">商品数据</span> </el-menu-item> </el-submenu> </el-menu> </template> 我想要夫标题的字体颜色是#1D2129字标题的颜色是#4E5969,然后选中的子标题背景颜色是#FFFAE8,字重500
最新发布
10-25
你已经使用了 `el-menu` 和 `el-submenu` 实现了多级菜单,现在想实现以下样式定制: --- ### ✅ 需求总结: | 目标 | 样式要求 | |------|---------| | **父标题(一级菜单)** | 字体颜色 `#1D2129` | | **子标题(二级菜单)** | 字体颜色 `#4E5969`,字重 `500` | | **选中的子菜单项** | 背景颜色 `#FFFAE8`,文字高亮但改变默认激活色? | > 注意:你同用了 `router` 模式,所以 `index` 对应路径会自动高亮。 --- ## ✅ 解决方案:通过 CSS 深度选择器覆盖 Element UI 默认样式 由于 Element UI 的样式是全局的,且组件内部结构需要穿透作用域,我们必须使用 **深度选择器**(如 `>>>` 或 `::v-deep`)。 ### ✅ 修改后的完整代码如下: ```vue <template> <el-menu :default-active="$route.path" class="sidebar-menu" background-color="#fff" text-color="#333" active-text-color="#F79800" router > <el-submenu index="1"> <template slot="title"> <i class="el-icon-menu"></i> <span>我的店铺</span> </template> <el-menu-item index="/myShop"> <span slot="title">店铺管理</span> </el-menu-item> </el-submenu> <el-submenu index="2"> <template slot="title"> <i class="el-icon-menu"></i> <span>商品管理</span> </template> <el-menu-item index="/goodsList"> <span slot="title">商品列表</span> </el-menu-item> </el-submenu> <el-submenu index="3"> <template slot="title"> <i class="el-icon-menu"></i> <span>订单管理</span> </template> <el-menu-item index="/order/takeout"> <span slot="title">外卖订单</span> </el-menu-item> <el-menu-item index="/order/instore"> <span slot="title">到店订单</span> </el-menu-item> <el-menu-item index="/order/reviews"> <span slot="title">顾客评价</span> </el-menu-item> </el-submenu> <el-submenu index="4"> <template slot="title"> <i class="el-icon-menu"></i> <span>活动管理</span> </template> <el-menu-item index="/coupon"> <span slot="title">优惠券</span> </el-menu-item> </el-submenu> <el-submenu index="5"> <template slot="title"> <i class="el-icon-menu"></i> <span>经营管理</span> </template> <el-menu-item index="/data/shop"> <span slot="title">店铺数据</span> </el-menu-item> <el-menu-item index="/data/product"> <span slot="title">商品数据</span> </el-menu-item> </el-submenu> </el-menu> </template> <style scoped> /* 父标题(el-submenu 的标题行) */ .sidebar-menu ::v-deep .el-submenu__title { color: #1d2129 !important; font-weight: 500; } /* 子菜单项(el-menu-item)字体颜色和字重 */ .sidebar-menu ::v-deep .el-menu-item { color: #4e5969 !important; font-weight: 500; } /* 选中的子菜单项背景颜色 */ .sidebar-menu ::v-deep .el-menu-item.is-active { background-color: #fffbe8 !important; /* 更柔和的黄底 */ color: #f79800 !important; /* 保持 active-text-color 高亮 */ font-weight: 600; /* 可更强调 */ } /* 可选:hover 效果统一 */ .sidebar-menu ::v-deep .el-menu-item:hover { background-color: #f7f8fa; } </style> ``` --- ## 🔍 关键点解释 | 技术点 | 说明 | |--------|------| | `::v-deep` | Vue 2 中用于穿透 `scoped` 样式,修改子组件内部样式(等价于 `>>>`,但在某些构建工具中更可靠) | | `.el-submenu__title` | 控制父菜单标题样式 | | `.el-menu-item` | 所有子菜单项 | | `.is-active` | Element UI 自动添加的类名,表示当前路由匹配项 | | `!important` | 覆盖 Element UI 内联样式或高优先级规则,必要使用 | --- ## 🛠️ 建议优化项 1. **避免多个 `index="/goodsList"`** 多个菜单指向同一个 `index` 会导致所有 `/goodsList` 路径激活多个菜单项。建议每个页面用同路径: ```js /order/takeout /order/instore /marketing/coupon ``` 2. **图标差异化提升体验** 当前所有父菜单都用 `el-icon-menu`,建议区分: ```vue <i class="el-icon-s-shop"></i> 我的店铺 <i class="el-icon-goods"></i> 商品管理 <i class="el-icon-tickets"></i> 订单管理 <i class="el-icon-present"></i> 活动管理 <i class="el-icon-data-line"></i> 经营管理 ``` --- ## ✅ 最终效果 | 元素 | 样式 | |------|------| | “我的店铺” 文字 | 颜色 `#1D2129`,粗体 | | “店铺管理” 文字 | 颜色 `#4E5969`,字重 `500` | | 点击“外卖订单”后 | 背景变为 `#FFFAE8`,文字橙色高亮 | --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值