Angular4 树组件的使用


树用的不多,但是有些项目的确需要,那么angular4是如何使用树的,我看过很多树组件,也看群里面有人问一些树的问题,可惜在我做这个树之后,我在众多的树里面选了这颗树,个人感觉挺好用的,功能众多,基本可以郎阔所有需求.

废话不说,先上效果图:



要实现这样的树,首先package.json配置package.json

    "ng2-tree": "^2.0.0-alpha.8",

然后npm install(我说的是在cli环境下的)

接着就是在appmodule中注入:

import {TreeModule} from 'ng2-tree';
TreeviewModule.forRoot(),
接着就是用到的地方了,

html中

  <tree
    [tree]="fonts"
    (nodeRemoved)="onNodeRemoved($event)"
    (nodeRenamed)="onNodeRenamed($event)"
    (nodeSelected)="onNodeSelected($event)"
    (nodeMoved)="onNodeMoved($event)"
    (nodeCreated)="onNodeCreated($event)"
    (nodeExpanded)="onNodeExpanded($event)"
    (nodeCollapsed)="onNodeCollapsed($event)">
  </tree>
component中

  public fonts: TreeModel = {
    value: '一级菜单',
    children: [
      {
        value: '二级菜单1',
        settings: {
          'static': true
        },
        children: [
          {value: '三级菜单1'},
          {value: '三级菜单2'},
          {value: '三级菜单3'},
          {value: '三级菜单4'},
          {value: '三级菜单5'},
          {
            value: '三级菜单6',
            children: [
              {value: '四级菜单1'},
              {value: '四级菜单2'},
              {value: '四级菜单3'}
            ]
          }
        ]
      },
      {
        value: '二级菜单2',
        children: [
          {value: '三级菜单1'},
          {value: '三级菜单2'},
          {value: '三级菜单3'},
          {value: '三级菜单4'},
          {value: '三级菜单5'},
          {value: '三级菜单6'}
        ]
      },
      {
        value: '二级菜单3',
        // children property is ignored if "loadChildren" is present
        children: [{value: 'I am the font that will be ignored'}],
        loadChildren: (callback) => {
          setTimeout(() => {
            callback([
              {value: '三级菜单1'},
              {value: '三级菜单2'},
              {value: '三级菜单3'},
              {value: '三级菜单4'},
            ]);
          }, 5000);
        }
      }
    ]
  };


  private static logEvent(e: NodeEvent, message: string): void {
    console.log(e);
    // alertify.message(`${message}: ${e.node.value}`);
  }

  public onNodeRemoved(e: NodeEvent): void {
    HomeComponent.logEvent(e, 'Removed');
  }

  public onNodeMoved(e: NodeEvent): void {
    HomeComponent.logEvent(e, 'Moved');
  }

  public onNodeRenamed(e: NodeEvent): void {
    HomeComponent.logEvent(e, 'Renamed');
  }

  public onNodeCreated(e: NodeEvent): void {
    HomeComponent.logEvent(e, 'Created');
  }

  public onNodeSelected(e: NodeEvent): void {
    HomeComponent.logEvent(e, 'Selected');
  }

  public onNodeExpanded(e: NodeEvent): void {
    HomeComponent.logEvent(e, 'Expanded');
  }

  public onNodeCollapsed(e: NodeEvent): void {
    HomeComponent.logEvent(e, 'Collapsed');
  }
具体的方法在这里不详细赘述了!


欢迎加入我的Angular4交流QQ群:560334140,不定期更新Angular4相关干货!同时也是交流问题的地方!

个人微信公众号,欢迎大家关注下,支持下,谢谢!
微信公众号名称:U世界的V梦想
二维码:


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值