美文网首页
ng2-tree控件

ng2-tree控件

作者: old_bamboo | 来源:发表于2017-08-24 10:52 被阅读0次

ng2-tree

点击我链接


用法

1.npm install --save ng2-tree

  1. 在应用的module里导入TreeModule
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { BrowserModule } from '@angular/platform-browser';
import { TreeModule } from 'ng2-tree';
 
@NgModule({
  declarations: [MyComponent],
  imports:      [BrowserModule, TreeModule],
  bootstrap:    [MyComponent]
})
export class MyModule {
}
  1. 然后,我们需要在使用时引入TreeModel,[tree]属性绑定了这个树形控件所需要的所有数据和一些设置:
// 1 -导入需要的类和接口
import { TreeModel } from 'ng2-tree';
 
@Component({
  selector: 'myComp',
  // 2 - 为tree属性设置对象
  template: `<tree [tree]="tree"></tree>`
})
class MyComponent {
  // 3 - 确保tree对象是treeModel的实例
  public tree: TreeModel = {
    value: 'Programming languages by programming paradigm',
    children: [
      {
        value: 'Object-oriented programming',
        children: [
          {value: 'Java'},
          {value: 'C++'},
          {value: 'C#'}
        ]
      },
      {
        value: 'Prototype-based programming',
        children: [
          {value: 'JavaScript'},
          {value: 'CoffeeScript'},
          {value: 'Lua'}
        ]
      }
    ]
  };
}
  1. 此外,你还需要引入style让tree可以使用,在angular-cli.json
    文件里引入"../node_modules/ng2-tree/styles.css"
  2. 最后,tree拥有诸多监听事件,以满足需求,例如节点选择事件:
// 1 -导入相关类和接口
import { TreeModel, NodeEvent } from 'ng2-tree';
 
@Component({
  selector: 'myComp',
  // 2 - 监听事件并处理
  template: `<tree [tree]="tree" (nodeSelected)="logEvent($event)"></tree>`
})
class MyComponent {
  public tree: TreeModel = { ... };
 
  // 3 - print caught event to the console
  public logEvent(e: NodeEvent): void {
    console.log(e);
  }
}

API

tree所有的API如下

 <tree
      [tree]="tree"
      [settings]="settings"
      (nodeRemoved)="handleRemoved($event)"
      (nodeRenamed)="handleRenamed($event)"
      (nodeSelected)="handleSelected($event)"
      (nodeMoved)="handleMoved($event)"
      (nodeCreated)="handleCreated($event)"
      (nodeExpanded)="handleExpanded($event)"
      (nodeCollapsed)="handleCollapsed($event)">
 </tree>

tree

[tree]

  • 引入接口import { TreeModel } from 'ng2-tree';,[tree]属性
  • 接口定义:
interface TreeModel {
  value: string | RenamableNode;
  id: string | number;
  children?: Array<TreeModel>;
  loadChildren?: ChildrenLoadingFunction;
  settings?: TreeModelSettings;
}

参照上面的用法可以快速构造出 tree所需要的数据和一些设置
数据:点击查看详细
设置:treeModel里还一个可以可选的配置属性

{
  value: 'Prototype-based programming',
  settings: {
    'static': true,
    'rightMenu': true,
    'leftMenu': true,
    'cssClasses': {
      'expanded': 'fa fa-caret-down fa-lg',
      'collapsed': 'fa fa-caret-right fa-lg',
      'leaf:': 'fa fa-lg',
      'empty': 'fa fa-caret-right disabled'
    },
    'templates': {
      'node': '<i class="fa fa-folder-o fa-lg"></i>',
      'leaf': '<i class="fa fa-file-o fa-lg"></i>',
      'leftMenu': '<i class="fa fa-navicon fa-lg"></i>'
    }
  },
  children: [
    {value: 'JavaScript'},
    {value: 'CoffeeScript'},
    {value: 'Lua'}
  ]
}

[setting]

[setting]对象必须是Ng2TreeSettings类型,现在只有一个属性可用 - rootIsVisible,此设置允许您使树的根节点不可见,此属性是可选的

const treeSettings: Ng2TreeSettings = {
  rootIsVisible: false
}

events

ng2-tree提供了大量有用的事件供使用
下图简单说明了事件的类型

NodeEvent是tree事件等级的最高级。它定义了节点的事件接收器。
NodeDestructiveEvent是所有对tree做出结构或者属性值更改的所有事件的父类

相关文章

  • ng2-tree控件

    ng2-tree 点击我链接 用法 1.npm install --save ng2-tree 在应用的modul...

  • dropDownButton使用方法

    添加DropDownButton 控件添加PopuMenu控件DropDownButton控件绑定PopuMenu控件

  • Android开发之自定义View流程

    Android控件架构 ViewGroup控件和View控件,ViewGroup控件作为父控件包含了多个View,...

  • 11.7

    今天学习了列表框控件、组合框控件、单选按钮控件、复选按钮控件、分组框控件。。。。。

  • HTML5 input 新增的表单控件

    必填项验证 颜色选择控件 日期选择控件 时间选择控件 电子邮件控件:提交表单时有格式验证 数字控件 文件控件 拖拽...

  • 关于winform父子控件以及控件之间方法调用/传值

    子控件获取父控件中的其他子控件 父控件访问子控件与上述例子类似

  • 组合控件2——海贼王选项菜单

    之前的自定义控件——初识自定义控件,我们了解到了自定义控件分为三种,自制控件,组合控件,拓展控件。而我们在自制控件...

  • 11.7

    第七章的列表框控件、组合框控件、单选按钮控件、复选按钮控件、分组框控件。

  • React专题4: 组件间通信

    父控件 传值 给子控件, 父控件可以将值 赋给子控件的一个属性(属性赋值)子控件 传值 给父控件, 需要父控件将自...

  • React中父、子控件方法的互相调用

    1.子控件调用父控件的方法 父控件: 子控件: (1)在父控件中通过

网友评论

      本文标题:ng2-tree控件

      本文链接:https://www.haomeiwen.com/subject/iuysdxtx.html