angular6中使用树形插件

效果图如下:

1、在app.model.ts文件中引入ng-zorro框架插件,代码如下

import { NgZorroAntdModule, NZ_I18N, en_US, zh_CN} from 'ng-zorro-antd';

2、在需要使用树形插件的组件中进行引入树形插件:

import { NzFormatEmitEvent,NzTreeNode,NzTreeComponent,NzTreeNodeOptions} from 'ng-zorro-antd';

3、html代码如下:

 <form #myForm = "ngForm" action="" (ngSubmit)="onSubmit(myForm.value)">
        <div class="auth-Tree">
          <span>授权:</span>
          <nz-tree #nzTreeComponent [nzData]="nodesData" nzCheckable nzMultiple  nzShowLine  nzShowIcon 
            [nzCheckedKeys]="defaultCheckedKeys"
            [nzExpandedKeys]="defaultExpandedKeys"
            [nzSelectedKeys]="defaultSelectedKeys"
            (nzClick)="nzEvent($event)"
            (nzExpandChange)="nzEvent($event)"
            (nzCheckBoxChange)="getCheckedNodeList($event)">
          </nz-tree>
        </div>
        <div class="setUserOperate">
          <button class="pressBtn btn-save" type="submit">保存</button>
          <button class="pressBtn btn-back" (click)="cancel()">取消</button>
        </div>
</form>

其中参数可以去官网地址查看,根据所获取的节点进行节点树的选择,代码如下:

var KeyData = [];
    var Node =[];
    Node = this.nzTreeComponent.getTreeNodes();
    var Nodelength = Node.length;
    for(var i=0;i<Nodelength;i++){
      if(Node[i].isChecked == true){
        KeyData.push(Node[i].key);
        var NodeChildlength = Node[i]._children.length;
        for(var j=0;j<NodeChildlength;j++){
          if(Node[i]._children[j].isChecked == true ){
            KeyData.push(Node[i]._children[j].key);
          }
        }
      }
    }

可以再权限选择的上方添加两个按钮,全选和全否,控制树形图的节点配置,代码如下:

// 全选
  checkAll(){
    var Node =[];
    Node = this.nzTreeComponent.getTreeNodes();
    var Nodelength = Node.length;
    for(var i=0;i<Nodelength;i++){
      Node[i].isChecked = true;
      var NodeChildlength = Node[i].children.length;
      for(var j=0;j<NodeChildlength;j++){
        Node[i].children[j].isChecked = true;
      }
    }
  }
  // 全否
  checkNull(){
    var Node =[];
    Node = this.nzTreeComponent.getTreeNodes();
    var Nodelength = Node.length;
    for(var i=0;i<Nodelength;i++){
      Node[i].isChecked = false;
      var NodeChildlength = Node[i].children.length;
      for(var j=0;j<NodeChildlength;j++){
        Node[i].children[j].isChecked = false;
      }
    }
  }

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值