如图所示,实现如上效果,要采用那种标签实现?
我采用的实element plus 我想到是el-tabs但是上面已经有一个了,在使用一个的话页面打开速度很慢,如果采用segmented是否可行?
注:头部导航我采用的是el-tabes这个标签
如图所示,实现如上效果,要采用那种标签实现?
我采用的实element plus 我想到是el-tabs但是上面已经有一个了,在使用一个的话页面打开速度很慢,如果采用segmented是否可行?
注:头部导航我采用的是el-tabes这个标签
在 Vue 3 中,如果你希望在已有的导航栏目下再添加一个导航栏,可以考虑使用 `el-submenu` 组件(如果你使用的是 Element Plus 库)来实现嵌套菜单的效果。对于你提供的图片效果,使用 `el-submenu` 是比较合适的解决方案,因为它允许你在一个菜单项下再包含子菜单。
使用 `el-segmented` 组件(如果 Element Plus 提供了这样的组件,并且它符合你的需求)也可以是一种选择,但它通常用于不同的场景,比如选择一组互斥的选项。对于层级结构的导航,`el-submenu` 更符合常见的 UI 设计模式。
这里是一个使用 `el-submenu` 的简单示例:
<template>
<el-menu
default-active="1"
class="el-menu-vertical-demo"
@open="handleOpen"
@close="handleClose"
:collapse="isCollapse"
<el-submenu index="1">
<template slot="title"><i class="el-icon-location"></i>导航一</template>
<el-menu-item-group>
<template slot="title">分组一</template>
<el-menu-item index="1-1">选项1</el-menu-item>
<el-menu-item index="1-2">选项2</el-menu-item>
</el-menu-item-group>
<el-submenu index="1-3">
<template slot="title">选项3</template>
<el-menu-item index="1-3-1">选项3-1</el-menu-item>
</el-submenu>
</el-submenu>
<el-menu-item index="2">
<i class="el-icon-menu"></i>
<span slot="title">导航二</span>
</el-menu-item>
<el-menu-item index="3">
<i class="el-icon-document"></i>
<span slot="title">导航三</span>
</el-menu-item>
<el-menu-item index="4">
<i class="el-icon-setting"></i>
<span slot="title">导航四</span>
</el-menu-item>
</el-menu>
</template>
<script>
export default {
data() {
return {
isCollapse: false,
};
},
methods: {
handleOpen(key, keyPath) {
console.log(key, keyPath);
},
handleClose(key, keyPath) {
console.log(key, keyPath);
},
},
};
</script>
<style scoped>
.el-menu-vertical-demo {
width: 200px;
min-height: 400px;
border-right: none;
}
</style>
在这个示例中,`el-submenu` 组件被用来创建一个包含子菜单的导航项。你可以在 `el-submenu` 内部添加更多的 `el-menu-item` 或 `el-submenu` 来实现更复杂的层级结构。
如果你确实遇到了页面打开速度慢的问题,可能是由于其他原因导致的,比如组件库版本不兼容、大量数据渲染、或者复杂的计算逻辑等。优化这些问题可能需要进一步的代码审查和优化策略。
3 回答6.3k 阅读✓ 已解决
2 回答7.7k 阅读✓ 已解决
1 回答5.1k 阅读✓ 已解决
4 回答4.3k 阅读
3 回答2.4k 阅读✓ 已解决
2 回答2.1k 阅读✓ 已解决
3 回答1.7k 阅读✓ 已解决
复杂导航:
使用 el-menu 和 el-submenu 提供更好的导航体验,适合复杂的多级菜单结构。
模块切换:
使用 el-tabs 提供直观的选项卡导航,适合展示大量内容或复杂结构。
选项较少:
使用 el-segmented 提供快速的选项切换体验,适合简单内容展示。
补充
el-tabs下面使用el-segmented时候页面打开很慢,而且页面变成空白处理
情况 1: 初始渲染问题
描述:当
el-tabs
包含大量内容或复杂组件时,初始渲染可能会导致页面加载缓慢。默认情况下,el-tabs
会同时渲染所有选项卡的内容,这会增加页面的初始加载时间。解决方案:使用
lazy
属性按需加载选项卡内容,避免一次性渲染所有内容,从而提升页面加载速度。情况 2: 数据加载问题
描述:如果
el-segmented
组件依赖于异步数据加载,而这些数据在选项卡切换时还未加载完成,可能会导致内容为空。解决方案:延迟加载数据,确保在选项卡切换时,数据已经加载完成。可以在选项卡切换事件中触发数据加载,避免内容为空。