vue3+elementplus侧边栏图标文字箭头不能正常显示的问题

文章讲述了在开发中遇到的问题,包括一级菜单无子项时仍有下拉箭头以及如何自定义图标和调整箭头样式。通过使用v-if控制子菜单的显示,将图片包裹在el-icon中实现自定义图标,以及仅调整transform属性完成箭头旋转效果。
摘要由CSDN通过智能技术生成

要求:实现功能,一个侧边栏,可以进行收缩,一级子菜单图标需要自定义,然后箭头需要改为右下

定义了一个数组进行遍历,发现问题

1.一级菜单无children但是依然有下拉箭头

 

 后来发现,需要用v-if控制子菜单的显示和隐藏

2.自定义图标

elementplus官网的自定义图标没太看明白怎么搞,后来自己研究了个方法。把img包裹在el-icon里,问题解决。起码目前自定义图标正常显示,还未发现问题

 3.箭头样式修改:网上查了好多比较麻烦,研究后发现其实只调transform属性就可以

.el-sub-menu :deep(.el-sub-menu__title .el-sub-menu__icon-arrow) {
  transform: rotate(-90deg) !important;
}

/*菜单展开箭头样式*/
.el-sub-menu.is-opened :deep(.el-sub-menu__title .el-sub-menu__icon-arrow) {
  transform: rotate(0deg) !important;
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Vue的条件渲染和Element Plus的Collapse组件来实现侧边栏折叠时按钮的显示和隐藏。 首先,你需要在Vue组件中定义一个data属性来表示是否折叠侧边栏,例如: ```javascript data() { return { isSidebarCollapsed: false }; } ``` 然后,在模板中使用Element Plus的Collapse组件来包裹侧边栏的按钮列表,并通过v-model绑定isSidebarCollapsed属性,实现侧边栏的折叠和展开: ```html <el-collapse v-model="isSidebarCollapsed"> <el-collapse-item title="按钮1" name="button1"> <!-- 按钮1的内容 --> </el-collapse-item> <el-collapse-item title="按钮2" name="button2"> <!-- 按钮2的内容 --> </el-collapse-item> <!-- 其他按钮项 --> </el-collapse> ``` 接下来,你可以使用Vue的条件渲染来控制按钮的显示和隐藏。根据isSidebarCollapsed的值,你可以决定哪些按钮应该显示,哪些按钮应该隐藏。例如: ```html <el-collapse v-model="isSidebarCollapsed"> <el-collapse-item title="按钮1" name="button1"> <!-- 按钮1的内容 --> </el-collapse-item> <el-collapse-item title="按钮2" name="button2"> <!-- 按钮2的内容 --> </el-collapse-item> <el-collapse-item v-if="!isSidebarCollapsed" title="按钮3" name="button3"> <!-- 按钮3的内容 --> </el-collapse-item> <el-collapse-item v-if="!isSidebarCollapsed" title="按钮4" name="button4"> <!-- 按钮4的内容 --> </el-collapse-item> <!-- 其他按钮项 --> </el-collapse> ``` 在上面的例子中,按钮3和按钮4只有在侧边栏展开时才会显示,当侧边栏折叠时,它们会被隐藏起来。 这样,当你折叠侧边栏时,选中的按钮会显示,其余的按钮会隐藏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值