- 浏览: 5161222 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
silence19841230:
先拿走看看
SpringBoot2.0开发WebSocket应用完整示例 -
wallimn:
masuweng 写道发下源码下载地址吧!三个相关文件打了个包 ...
SpringBoot2.0开发WebSocket应用完整示例 -
masuweng:
发下源码下载地址吧!
SpringBoot2.0开发WebSocket应用完整示例 -
masuweng:
SpringBoot2.0开发WebSocket应用完整示例 -
wallimn:
<div class="quote_title ...
前端框架iviewui使用示例之菜单+多Tab页布局
前言:
综合使用menu、tab实现菜单+Tab页的布局模式。学习调试作品,代码不是很严谨,但基本功能都实现了。
效果:
代码:
打开开发者工具,看看是不是有什么资源没有找到。再看看iviewui的代码有没有转化为正常的HTML代码。
综合使用menu、tab实现菜单+Tab页的布局模式。学习调试作品,代码不是很严谨,但基本功能都实现了。
效果:
代码:
<!DOCTYPE html> <!-- 作者:wallimn 博客:http://wallimn.iteye.com 时间:2017-11-22 --> <html> <head> <meta charset="utf-8"> <title>iview示例</title> <link rel="stylesheet" type="text/css" href="iview/styles/iview.css"> <script type="text/javascript" src="js/vue.js"></script> <script type="text/javascript" src="iview/iview.js"></script> <script type="text/javascript" src="js/jquery-1.12.4.js"></script> <style type="text/css"> body,html{ background: #f5f7f9; } .layout{ } .layout-logo{ width: 100px; height: 40px; background: #5b6270; border-radius: 3px; float: left; position: relative; top: 15px; left: 20px; } .layout-content{ position:absolute; right:0; left:0; top:90px; bottom:90px; margin: 15px; overflow: hidden; background: #fff; border-radius: 4px; } .layout-content-main{ min-height: 400px; padding: 10px; } .layout-copy{ text-align: center; padding: 5px 0 10px; color: #9ea7b4; position:absolute; bottom:0; right:0; left:0; width:100%; height:90px; } .layout-top{ position:absolute; top:0; right:0; left:0; width:100%; height:90px; } </style> </head> <body> <div id="app"> <div class="layout"> <div class="layout-top"> <div class="layout-logo"></div> </div> <div class="layout-content"> <Row > <i-col span="5"> <i-menu active-name="1-1" width="auto" accordion :open-names="[menuData[0].name]" @on-select="menuSelect" :style="{height:mainHeight+'px'}"> <Submenu v-for="item in menuData" :name="item.name"> <template slot="title"> <Icon type="ios-analytics"></Icon>{{item.label}} </template> <menu-item v-for="mi in item.menuitems" :name="mi.name">{{mi.label}}</menu-item> </Submenu> </i-menu> </i-col> <i-col span="19"> <div class="layout-content-main" > <Tabs type="card" @on-tab-remove="removeTab" @on-click="clickTab" :animated="false" :value="activeTab"> <template v-for="(item,index) in mainTabs"> <tab-pane :label="item.label" closable :name="item.name" v-if="item.show"> <iframe frameborder="0" width="100%" :height="frameHeight" marginheight="0" scrolling="auto" marginwidth="0" :src="item.url"></iframe> </tab-pane> </template> </Tabs> </div> </i-col> </Row> </div> <div class="layout-copy"> 2017-2018 © http://wallimn.iteye.com </div> </div> </div> <script type="text/javascript"> var vue = new Vue({ el:'#app', data:function(){ return { menuData:[ { label:'菜单1',name:"m1", menuitems:[ {name:'m1-1',label:'菜单1-1',url:'iview.html'}, {name:'m1-2',label:'菜单1-2',url:'grid.html'}, {name:'m1-3',label:'菜单1-3',url:'button.html'}, {name:'m1-4',label:'菜单1-4',url:'table.html'}, ] }, { label:'菜单2',name:"m2", menuitems:[ {name:'m2-1',label:'菜单2-1',url:'http://wallimn.iteye.com'}, {name:'m2-2',label:'菜单2-2',url:'m2-1.html'}, {name:'m2-3',label:'菜单2-3',url:'m2-1.html'}, {name:'m2-4',label:'菜单2-4',url:'m2-1.html'}, ] }, { label:'菜单3',name:"m3", menuitems:[ {name:'m3-1',label:'菜单3-1',url:'m3-1.html'}, {name:'m3-2',label:'菜单3-2',url:'m3-1.html'}, {name:'m3-3',label:'菜单3-3',url:'m3-1.html'}, {name:'m3-4',label:'菜单3-4',url:'m3-1.html'}, ] }, { label:'菜单4',name:"m4", menuitems:[ {name:'m4-1',label:'菜单4-1',url:'m4-1.html'}, {name:'m4-2',label:'菜单4-2',url:'m4-1.html'}, {name:'m4-3',label:'菜单4-3',url:'m4-1.html'}, {name:'m4-4',label:'菜单4-4',url:'m4-1.html'}, ] } ], activeTab:null, mainHeight: 0, frameHeight: 0, mainTabs:[] }; }, mounted:function(){ this.setFrameHeight(); }, methods:{ clickTab:function(name){ var vm=this; vm.frameHeight -= 1; //解决chrome浏览器中tab切换滚动条消失的问题。 window.setTimeout(function(){ vm.frameHeight=vm.frameHeight+1; },100); }, //根据名称来查找对应的菜单条目 getMenuItem:function(name){ for(var sm=0; sm<this.menuData.length; sm++){ for(var mi=0; mi<this.menuData[sm].menuitems.length; mi++){ if(this.menuData[sm].menuitems[mi].name==name)return this.menuData[sm].menuitems[mi]; } } return {};//这个应该不可能发生 }, //根据名称查找对应的Tab页。 getTab:function(name){ for(var i=0; i<this.mainTabs.length; i++){ if(this.mainTabs[i].name==name)return this.mainTabs[i]; } return null;//没有找到 }, //设置Tab页不可见。 removeTab:function (name) { var tab = this.getTab(name); if(tab!=null)tab.show=false; console.log("mainTabRemove, name=",name,", label=",tab.label,", url=",tab.url); }, setFrameHeight:function(){ //调整掉一些补白的值 this.mainHeight = (document.documentElement.scrollHeight || document.body.scrollHeight)-90-90; this.frameHeight = this.mainHeight-90; }, //菜单点击 menuSelect:function(name){ this.$Message.info(name); var tab = this.getTab(name); if(tab==null){ var mi = this.getMenuItem(name); var mi = $.extend({},mi,{show:true}); this.mainTabs.push(mi); } else{ tab.show=true; } this.activeTab=name; }, onAuthor:function(){ this.$Message.info("wallimn,http://wallimn.iteyey.com"); } } }); window.onresize=function(){ vue.setFrameHeight(); } </script> </body> </html>
评论
2 楼
wallimn
2018-05-19
水淼火 写道
你好,我使用以后,图标不显示,应该怎么引用呢,谢谢
打开开发者工具,看看是不是有什么资源没有找到。再看看iviewui的代码有没有转化为正常的HTML代码。
1 楼
水淼火
2018-05-18
你好,我使用以后,图标不显示,应该怎么引用呢,谢谢
发表评论
-
gradle编译错误:Could not find method compile() for arguments
2020-09-19 10:50 18511编译(IDEA+Gradle)一个别人的工程,出现一个 ... -
netty心跳检查之UDP篇
2019-09-15 08:50 2396部分UDP通信场景中,需要客户端定期发送心跳信息,以获取终 ... -
解决tomcat部署两个SpringBoot应用提示InstanceAlreadyExistsException
2019-06-30 11:49 3392两个SpringBoot应用部署在一个Tomcat中,单独 ... -
Eclipse配置MyBatis代码自动化功能
2019-06-29 10:16 17731.安装插件 Eclipse中,Help->Ecli ... -
vue.js中使用qrcode生成二维码
2019-05-20 00:00 7656一、安装包 npm install qrcodejs2 --s ... -
MySQL插入数据报错: Incorrect string value: '\xFD\xDE'
2019-03-31 23:19 1253我MySQL数据库用的uft-8字符集,插入数据一直很正常 ... -
vue自定义组件并双向绑定属性
2019-03-08 22:46 3258做了两个子组件,原理基本一样,一个是使用原生的select ... -
vue-router简单示例
2019-03-05 00:32 1152写个基本完整、稍有借鉴意义的示例,防止自己忘记。 &l ... -
“联通充值系统繁忙”轻松应对
2019-02-06 11:03 3973大过年的,联通充个值一直报“充值系统繁忙”。昨天晚上试了几 ... -
electron.js数据库应用---导航菜单(element-ui+mysql)
2019-02-05 21:33 2364一、环境搭建 略, ... -
electron.js数据库应用---入门(mysql+element-ui)
2019-01-27 23:19 7504我的机器:Windows10,64 ... -
SpringMVC 在controller层中注入成员变量request,是否线程安全
2018-12-17 21:17 2748@RestController public class ... -
VueJS 组件参数名命名与组件属性转化
2018-12-03 00:00 2076转自:https://www.cnblogs.com/meiy ... -
vue-resource拦截器实现token发送及检验自动化
2018-11-16 22:38 3077用了很长时间vue-resource,最近思考$http发 ... -
element-ui试用手记
2018-10-29 20:25 1747element-ui、iviewui都以vue.js为基础 ... -
iviewui中表格控件中render的使用示例
2018-07-07 16:46 9787示例了如何在表格中显示按钮,如何将代码转化为文字。 i ... -
Tomcat错误“Alias name tomcat does not identify a key entry”解决
2018-07-05 21:39 6575申请到了阿里云的证书后,下载、按照说明生成jks格式证书、 ... -
阿里云免费证书“fileauth.txt内容配置错误”解决
2018-07-05 20:43 5301最近研究微信小程序开发,上阿里云申请了个证书,使用文件验证 ... -
springboot2.0跨域配置
2018-07-04 22:11 5285springboot2.0跨域配置: 一、代码 ... -
微信小程序使用code换openid的方法(JAVA、SpringBoot)
2018-07-01 21:52 10398微信小程序序的代码中提示,使用code换取openid,但 ...
相关推荐
**H+前端UI框架** H+是一款基于Bootstrap框架深度定制的高性能前端UI解决方案,专为开发者和设计师打造。它的设计风格简洁、现代,且高度可定制化,适用于各类企业级项目开发。H+提供了丰富的组件和示例,帮助...
Layui是一个轻量级的前端UI框架,它的特点是模块化、响应式、简洁且易于上手。"Layui前端框架"提供了丰富的组件,如表格、按钮、弹框、表单、图标等,用于构建美观的用户界面。通过与SpringBoot和Thymeleaf的结合,...
"OneUI3.1前端框架"是一个专门设计用于构建自适应多平台浏览器界面的WEB前端框架。这个框架的出现,极大地简化了开发人员在创建现代Web应用时对用户体验和跨平台兼容性的处理。以下是关于OneUI3.1的详细知识点: 1....
在现代网页设计和开发中,Layui作为一个流行的前端UI框架,它的使用日益广泛。它基于jQuery,提供了一整套的解决方案,包括模块化、可定制的界面组件,使得网页开发更加快捷、高效。Layui的tab组件是该框架中非常...
“Iview前端项目框架”是一个基于Vue.js的UI组件库,专为开发高效、美观的Web应用界面而设计。Vue.js是目前非常流行的前端JavaScript框架,以其轻量级、易上手和灵活性受到开发者喜爱。Iview则是Vue.js生态系统中的...
H+前端框架的核心特点在于其强大的布局系统,它采用了Flexbox模型,这使得在各种屏幕尺寸下都能实现灵活的布局。Flexbox允许开发者轻松调整元素的位置和大小,确保页面在不同分辨率下的自适应性。此外,H+还包含了...
Ace+Admin前端框架是一款广泛应用在企业级Web应用中的开源UI框架,它结合了Ace和AdminLTE两个优秀的前端组件库,提供了丰富的界面元素、布局选项和交互设计,旨在为开发者提供一个高效、美观且易于定制的开发环境。...
在前端开发领域,一个带有可定制菜单的项目通常涉及到用户界面设计、交互逻辑以及动态数据处理等多个关键知识点。这样的项目旨在提供用户自定义选择菜单项的功能,以满足不同用户的需求和偏好,提升用户体验。以下是...
3. **易于使用**:Element UI 提供了详细的文档和示例,方便快速上手。 4. **高度可定制**:开发者可以根据需要调整主题颜色,甚至可以自定义每个组件的样式。 5. **兼容性和性能**:Element UI 对现代浏览器支持...
《最新版H+UI前端模板框架深度解析》 在当今的Web开发领域,前端框架扮演着至关重要的角色,它们能够极大地提升开发效率,提供统一的设计风格,并为开发者提供丰富的组件库。本文将深入探讨“最新版H+UI前端模板...
在使用Vue.js与iView框架构建项目时,经常会遇到需要实现动态左侧菜单的需求。这个示例代码展示了如何在Vue CLI 3环境下结合iView框架,根据后端返回的数据动态渲染菜单,并实现高亮当前选中页面的效果。以下是关键...
Unicorn Admin是一款备受推崇的前端开发框架,专为构建高效、响应式且用户友好的管理界面而设计。这款框架以其独特的设计风格、丰富的组件库和强大的功能,深受开发者喜爱,尤其适用于创建企业级后台管理系统。 在...
【移动端UI框架示例】是针对手机和平板设备设计的一款名为"Hui"的框架的实践应用展示。这个框架提供了一套完整的解决方案,旨在简化移动端Web界面的布局与组件设计,从而提升开发效率和用户体验。 Hui框架的核心...
iView Admin是一款基于Vue.js的前端管理后台集成解决方案,它结合了Vue.js的响应式特性和iView UI组件库的强大功能。Vue.js作为轻量级的JavaScript框架,以其简洁的API和高效的虚拟DOM操作,在单页应用(SPA)开发中...
Easy UI 是一个基于 jQuery 的轻量级前端框架,它的设计目标是简化网页界面的构建,提供丰富的组件和直观的API,让开发者能够快速地创建出美观且功能强大的用户界面。这个框架深受开发者喜爱,因为它极大地提高了...
`H+4.9正版文档`文件包含了详尽的框架使用指南和API参考,从安装到使用,从基础组件到高级功能,都有清晰的步骤和示例代码,帮助开发者快速上手和深入学习。 ### 四、版本更新 `H+4.9正版源码`包含了框架的最新源...
前端开源UI框架是开发网页应用时常用的一种工具,它们提供了丰富的组件和样式,帮助开发者快速构建用户界面,提高开发效率。这些框架通常基于HTML、CSS和JavaScript,且遵循一定的设计原则和规范,使得代码可维护性...
2. iView:iView提供了诸如表格、按钮、模态框、提示、下拉菜单、导航栏、面包屑、标签页等常见后台管理界面所需的组件。这些组件都遵循Material Design或Ant Design等现代设计规范,既美观又实用。在模板中,开发者...
在本文中,我们将深入探讨如何使用Element-UI框架来开发前端报表页面,这对于那些在前端布局上遇到困难或者对在Element-UI中嵌入V-Charts不太熟悉的同学来说,将是一份宝贵的指南。 Element-UI是一款基于Vue.js的...