layui导航栏二级菜单不显示问题及解决
作者:清啊清小青
这篇文章主要介绍了layui导航栏二级菜单不显示问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
layui导航栏二级菜单不显示
问题描述
在使用layui 中的导航栏组件时,除了 默认打开的第一个,其他的导航只能显示出一级的导航,
原因
查看layui 的官方文档,可以发现layui 的导航目录时依赖于element 的,所以我们需要创建一个element
解决方法
创建layui 下的element 即可
示例代码
1.Vue 项目中:
<ul class="layui-nav layui-nav-tree" lay-filter="test"> <li class="layui-nav-item layui-nav-itemed"> <a _href='#'> <i class="layui-icon layui-icon-home"></i> <cite>首页</cite> </a> <dl class="layui-nav-child"> <dd> <a _index="0">项目介绍</a> </dd> <dd> <a _index="1">分析页</a> </dd> </dl> </li> <li class="layui-nav-item"> <a _href='#' v-on:click="chufa"> <i class="layui-icon layui-icon-set-fill"></i> <span>系统管理</span> </a> <dl class="layui-nav-child"> <dd> <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >用户管理</a> </dd> <dd> <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >角色管理</a> </dd> <dd> <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >菜单管理</a> </dd> <dd> <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >登录日志</a> </dd> </dl> </li> </ul>
2.需要添加的代码如下:
在当前Vue 文件的mounted钩子函数中添加以下的代码:
mounted() { this.$nextTick(() => { //导航栏依赖于 element 因此下面的代码是必须的否则二级导航内容就会不显示 layui.use("element", function() { var element = layui.element; }); });
结果对比
1.没加代码之前
2.加上代码之后:
layui中的一些问题
使用layui(版本号2.4.5),在引入js,css之后:
水平导航栏二级菜单一直不能显示
<script> layui.use('element', function(){ var element = layui.element; element.on('nav(filter)', function(elem){ console.log(elem); //得到当前点击的DOM对象 }); }); </script>
解决办法:最后发现layui.all.js引入不能放在head标签内,需要在body最后面引入即可。
使用layer.open 中的iframe弹框,关闭失败的问题
最开始解决办法,根据官网示例:即
var index = layer.open({ …… }); layer.close(index);/ layer.closeAll()
但是使用这种两种方法发现怎么都关闭不了,后来再仔细看官方文档时发现关闭iframe 需要使用下面的方法
//当你在iframe页面关闭自身时 var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引 parent.layer.close(index); //再执行关闭
最后测试完美解决
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。