用Angular如何制作树形二级表格,代码是什么
Admin 2022-06-23 群英技术资讯 572 次浏览
先看效果:
代码:
1、html
<div class="userContent_content"> <div> <table> <tr> <td>节点名称</td> <td>节点管理IP</td> <td>节点登录名</td> <td>节点登录密码</td> </tr> //使用ng-container作为空标签用于辅助放置for或者if事件,它在审查元素中是找不到的 <ng-container *ngFor="let item of currentTotalList,let i = index"> <tr> <td style="color: #04AEB4;cursor: pointer;" class="img"> <div> <div>{{item.name}}</div> <div> //下面是箭头的图片,是展开和收起箭头的切换,通过判断当前点击索引与列表索引是否相等,相等则展开,否则收起 <img (click)="clickShowChildList(i,item.name)" [attr.src]="i == currentClickOpenIndex?'../../assets/resource/img/bottom.png':'../../assets/resource/img/right.png'"> </div> </div> </td> <td>{{item.ip}}</td> <td>{{item.username}}</td> <td>{{item.password}}</td> </tr> //再次使用ng-container标签嵌套表格的子级 <ng-container *ngFor="let childItem of item.nodeList, let j = index"> //由于在同一个标签内,for循环和if判断不能同时共存,因此我们的隐藏事件if放置tr标签内,通过判断当前点击的索引与列表索引是否一致,相等则收起,不等则显示的功能。 <tr *ngIf="i == currentClickOpenIndex"> <td style="color: #04AEB4;cursor: pointer;" class="img"> <div> <div> {{childItem.masterIp}}</div> </div> </td> <td>{{childItem.ip}}</td> <td>{{childItem.username}}</td> <td>{{childItem.password}}</td> </tr> </ng-container> </ng-container> </table> </div> </div>
2、less
.userContent_content{ width: 100%; height: calc(~"100% - 60px"); overflow: auto; >div:nth-child(1){ >table{ width: 100%; tr{ td{ width: 25%; text-align: center; font-size: 14px; color: #fff; padding: 16px 0px; box-shadow: 0 1px #333; } } .img { >div { width: 100%; display: flex; position: relative; >div:nth-child(1) { width: 85%; white-space: nowrap; text-overflow: ellipsis; -o-text-overflow: ellipsis; overflow: hidden; margin: 0 auto; } } img { height: 10px !important; width: 10px !important; margin-left: 0 !important; position: absolute; right: 0; top: 3px; } } } } >div:nth-child(2){ height: 80px; width: 90%; display: flex; align-items: center; margin: 0 auto; justify-content: flex-end; #page{ display: table; } } }
3、js
(1)currentTotalList表格数据的格式类似如下(你们自己写个模拟数据吧):
(2)初始化当前的点击索引变量currentClickOpenIndex 为-1
(3)是展开收起箭头的点击事件:
clickShowChildList = (i,item)=>{ console.log(i,this.currentClickOpenIndex) if(this.currentClickOpenIndex==i){ this.currentClickOpenIndex = -1 }else{ this.currentClickOpenIndex = i } }
然后就完成了……
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本文实例为大家分享了vue开发实现跑马灯效果组件的具体代码,供大家参考,具体内容如下用vue编写一个可以快进后退的跑马灯组件由于业务需求,要实现一个会可以控制速度的跑马灯,初开始用js的setinterval每隔几毫秒来减取一个字符拼接到后面,效果不理想就放弃了。后查询用js的animate这个api改造大功告成!效果
request 和 response 对象的具体介绍:Request对象 -request对象表示HTTP请求,包含了请求查询字符串,参数,内容,HTTP头部等属性。常见属性有:req.app:当callback为外部文件时,用req.app访问express的实例req.baseUrl:获取路由当前安装的URL路径req.body/req.cookies:获得「请求主体
这篇文章主要为大家详细介绍了vue实现顶部菜单栏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要为大家详细介绍了vue实现省市区的级联选择,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本篇文章给大家带来了关于JavaScript的相关知识,reduce是数组原型对象上的一个方法,可以帮助我们操作数组。本文将和大家分享4个关于JavaScript中数组reduce的用法,希望对大家有所帮助。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008