基于angular实现树形二级表格


Posted in Javascript onOctober 16, 2021

先看效果:

基于angular实现树形二级表格

代码:

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表格数据的格式类似如下(你们自己写个模拟数据吧):

基于angular实现树形二级表格

(2)初始化当前的点击索引变量currentClickOpenIndex 为-1

(3)是展开收起箭头的点击事件:

clickShowChildList = (i,item)=>{
    console.log(i,this.currentClickOpenIndex)
    if(this.currentClickOpenIndex==i){
      this.currentClickOpenIndex = -1
    }else{
      this.currentClickOpenIndex = i
    }
  }

然后就完成了……

到此这篇关于基于angular实现树形二级表格的文章就介绍到这了,更多相关angular树形二级表格内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Javascript 相关文章推荐
javascript深入理解js闭包
Jul 03 Javascript
jquery限定文本框只能输入数字即整数和小数
Nov 29 Javascript
js实现按钮加背景图片常用方法
Nov 01 Javascript
Javascript动画的实现原理浅析
Mar 02 Javascript
javascript函数特点实例分析
May 14 Javascript
基于jquery实现放大镜效果
Aug 17 Javascript
jQuery实现鼠标选文字发新浪微博的方法
Apr 02 Javascript
微信小程序 WXML、WXSS 和JS介绍及详解
Oct 08 Javascript
JavaScript实现自动切换图片代码
Oct 11 Javascript
JS 循环li添加点击事件 (闭包的应用)
Dec 10 Javascript
基于JavaScript实现淘宝商品广告效果
Aug 10 Javascript
three.js中文文档学习之如何本地运行详解
Nov 20 Javascript
ajax请求前端跨域问题原因及解决方案
浅谈TypeScript 索引签名的理解
JavaScript 反射学习技巧
Oct 16 #Javascript
JS的深浅复制详细
Oct 16 #Javascript
JS 基本概念详细介绍
Oct 16 #Javascript
AJAX实现指定部分页面刷新效果
AJAX实现省市县三级联动效果
Oct 16 #Javascript
You might like
写一个用户在线显示的程序
2006/10/09 PHP
PHP简单装饰器模式实现与用法示例
2017/06/22 PHP
PHP常用函数之base64图片上传功能详解
2019/10/21 PHP
什么是DOM(Document Object Model)文档对象模型
2012/03/05 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
2014/06/26 Javascript
Node.js中的模块机制学习笔记
2014/11/04 Javascript
JavaScript实现SHA-1加密算法的方法
2015/03/11 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
简单谈谈Javascript函数中的arguments
2017/02/09 Javascript
React Native仿美团下拉菜单的实例代码
2017/08/08 Javascript
Webpack性能优化 DLL 用法详解
2017/08/10 Javascript
从vue基础开始创建一个简单的增删改查的实例代码(推荐)
2018/02/11 Javascript
微信小程序之自定义组件的实现代码(附源码)
2018/08/02 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
2018/10/08 Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
2018/11/16 Javascript
详解javascript 变量提升(Hoisting)
2019/03/12 Javascript
详解iview的checkbox多选框全选时校验问题
2019/06/10 Javascript
24个解决实际问题的ES6代码片段(小结)
2020/02/02 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
vue-openlayers实现地图坐标弹框效果
2020/09/24 Javascript
python正则表达式match和search用法实例
2015/03/26 Python
Django migrations 默认目录修改的方法教程
2018/09/28 Python
Django框架使用内置方法实现登录功能详解
2019/06/12 Python
Python Numpy库常见用法入门教程
2020/01/16 Python
Python获取、格式化当前时间日期的方法
2020/02/10 Python
Python celery原理及运行流程解析
2020/06/13 Python
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
澳大利亚购买健身器材网站:Gym Direct
2019/12/19 全球购物
自荐信需注意事项
2014/01/25 职场文书
人事专员工作职责
2014/02/22 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
2014年反洗钱工作总结
2014/11/22 职场文书
2014年法务工作总结
2014/12/11 职场文书
护林员个人总结
2015/03/04 职场文书
React配置子路由的实现
2021/06/03 Javascript
SpringBoot快速入门详解
2021/07/21 Java/Android