Angular PrimeNG TreeTable加载状态

Angular PrimeNG TreeTable加载状态

Angular PrimeNG是一个开源框架,拥有丰富的原生Angular UI组件,可用于出色的造型,这个框架用于制作响应式网站,非常容易。在这篇文章中,我们将看到如何在Angular PrimeNG中使用TreeTable Column Resize。

Angular PrimeNG TreeTable Loading Status在TreeTable组件中启用了一个加载器。装载器使TreeTable组件具有交互性,是代表数据加载前的一个好方法。

语法:

<p-treeTable
 [loading]='loading'>
</p-treeTable>

创建Angular应用程序和模块安装。

第1步:使用以下命令创建一个Angular应用程序。

ng new appname

第2步:创建你的项目文件夹即appname后,使用以下命令移动到它。

cd appname

第3步:在你给定的目录中安装PrimeNG。

npm install primeng --save
npm install primeicons --save

项目结构:它将看起来像如下。

Angular PrimeNG TreeTable加载状态

例子1:下面是一个简单的例子,演示了Angular PrimeNG TreeTable加载状态的使用,在这个例子中,我们将数据延迟了1秒,并使用加载器直到数据。

<div style="height: calc(100vh - 149px)">
    <h2 style="color: green">GeeksforGeeks</h2>
    <h4>Angular PrimeNG TreeTable Loading Status</h4>
  
    <p-treeTable [columns]="cols" 
                 [value]="tableData" 
                 [loading]="loading">
        <ng-template pTemplate="colgroup" let-columns>
            <colgroup>
                <col *ngFor="let col of columns" />
            </colgroup>
        </ng-template>
  
        <ng-template pTemplate="header" let-columns>
            <tr>
                <th *ngFor="let col of columns" ttReorderableColumn>
                    {{ col.header }}
                </th>
            </tr>
        </ng-template>
  
        <ng-template pTemplate="body" 
                    let-rowNode let-rowData="rowData"
                    let-columns="columns">
            <tr>
                <td *ngFor="let col of columns; let i = index">
                    <p-treeTableToggler [rowNode]="rowNode" 
                                        *ngIf="i == 0">
                    </p-treeTableToggler>
                    {{ rowData[col.field] }}
                </td>
            </tr>
        </ng-template>
    </p-treeTable>
</div>
import { Component, OnInit } from "@angular/core";
import { NodeService } from "./nodeservice";
import { TreeNode } from "primeng/api";
  
@Component({
  selector: "app-root",
  templateUrl: "./app.component.html",
})
export class AppComponent {
  tableData: TreeNode[] = [];
  cols: any[] = [];
  loading: boolean;
  
  constructor(private nodeService: NodeService) {}
  
  ngOnInit() {
    this.cols = [
      { field: "firstname", header: "First Name" },
      { field: "lastname", header: "Last Name" },
  
      { field: "age", header: "Age" },
    ];
    this.loading = true;
    setTimeout(() => {
      this.loading = false;
      this.tableData = [
        {
          data: {
            firstname: "David",
            lastname: "ace",
            age: "40",
          },
          children: [
            {
              data: {
                firstname: "Nathan",
                lastname: "ace",
  
                age: "16",
              },
              children: [
                {
                  data: {
                    firstname: "Abe",
                    lastname: "ace",
  
                    age: "12",
                  },
                },
                {
                  data: {
                    firstname: "Ksi",
                    lastname: "ace",
  
                    age: "12",
                  },
                },
              ],
            },
            {
              data: {
                firstname: "Shane",
                lastname: "ace",
  
                age: "14",
              },
            },
          ],
        },
        {
          data: {
            firstname: "Warner",
            lastname: "ace",
  
            age: "55",
          },
          children: [
            {
              data: {
                lastname: "ace",
                firstname: "Michelle",
                age: "20",
              },
            },
            {
              data: {
                firstname: "Charlie",
                lastname: "ace",
  
                age: "24",
              },
            },
          ],
        },
        {
          data: {
            firstname: "Max",
            lastname: "ace",
  
            age: "55",
          },
          children: [
            {
              data: {
                firstname: "Michelle",
                lastname: "ace",
  
                age: "20",
              },
            },
            {
              data: {
                firstname: "Charlie",
                lastname: "ace",
  
                age: "24",
              },
            },
          ],
        },
        {
          data: {
            firstname: "Willy",
            lastname: "ace",
  
            age: "55",
          },
          children: [
            {
              data: {
                firstname: "Michelle",
                lastname: "ace",
  
                age: "20",
              },
            },
            {
              data: {
                firstname: "Charlie",
                lastname: "ace",
  
                age: "24",
              },
            },
          ],
        },
        {
          data: {
            firstname: "Miley",
            lastname: "ace",
  
            age: "55",
          },
          children: [
            {
              data: {
                firstname: "Michelle",
                lastname: "ace",
  
                age: "20",
              },
            },
            {
              data: {
                firstname: "Charlie",
                lastname: "ace",
  
                age: "24",
              },
            },
          ],
        },
        {
          data: {
            firstname: "Sam",
            lastname: "ace",
  
            age: "55",
          },
          children: [
            {
              data: {
                firstname: "Michelle",
                lastname: "ace",
  
                age: "20",
              },
            },
            {
              data: {
                firstname: "Charlie",
                lastname: "ace",
  
                age: "24",
              },
            },
          ],
        },
        {
          data: {
            firstname: "James",
            lastname: "ace",
  
            age: "55",
          },
          children: [
            {
              data: {
                firstname: "Michelle",
                lastname: "ace",
  
                age: "20",
              },
            },
            {
              data: {
                lastname: "ace",
                firstname: "Charlie",
  
                age: "24",
              },
            },
          ],
        },
      ];
    }, 1000);
  }
}
import { NgModule } from "@angular/core";
import { BrowserModule } from "@angular/platform-browser";
import { FormsModule } from "@angular/forms";
import { HttpClientModule } from "@angular/common/http";
import { BrowserAnimationsModule } 
    from "@angular/platform-browser/animations";
import { AppComponent } from "./app.component";
import { NodeService } from "./nodeservice";
import { TreeTableModule } from "primeng/treetable";
import { ButtonModule } from "primeng/button";
import { InputTextModule } from "primeng/inputtext";
  
@NgModule({
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    TreeTableModule,
    ButtonModule,
    InputTextModule,
    HttpClientModule,
    FormsModule,
  ],
  declarations: [AppComponent],
  bootstrap: [AppComponent],
  providers: [NodeService],
})
export class AppModule {}

输出:

Angular PrimeNG TreeTable加载状态

例子2:在这个例子中,我们应用了无限的加载。

<div style="height: calc(100vh - 149px)">
    <h2 style="color: green">GeeksforGeeks</h2>
    <h4>Angular PrimeNG TreeTable Loading Status</h4>
  
    <p-treeTable [columns]="cols" 
                 [value]="tableData" 
                 [loading]="loading">
        <ng-template pTemplate="colgroup" let-columns>
            <colgroup>
                <col *ngFor="let col of columns" />
            </colgroup>
        </ng-template>
  
        <ng-template pTemplate="header" let-columns>
            <tr>
                <th *ngFor="let col of columns" ttReorderableColumn>
                    {{ col.header }}
                </th>
            </tr>
        </ng-template>
  
        <ng-template pTemplate="body" 
                     let-rowNode let-rowData="rowData" 
                     let-columns="columns">
            <tr>
                <td *ngFor="let col of columns; let i = index">
                    <p-treeTableToggler [rowNode]="rowNode"
                                        *ngIf="i == 0">
                    </p-treeTableToggler>
                    {{ rowData[col.field] }}
                </td>
            </tr>
        </ng-template>
    </p-treeTable>
</div>
import { Component, OnInit } from "@angular/core";
import { TreeNode } from "primeng/api";
  
@Component({
  selector: "app-root",
  templateUrl: "./app.component.html",
})
export class AppComponent {
  tableData: TreeNode[] = [];
  cols: any[] = [];
  loading: boolean;
  
  constructor() {}
  
  ngOnInit() {
    this.cols = [
      { field: "firstname", header: "First Name" },
      { field: "lastname", header: "Last Name" },
  
      { field: "age", header: "Age" },
    ];
    this.loading = true;
  }
}
import { NgModule } from "@angular/core";
import { BrowserModule } from "@angular/platform-browser";
import { FormsModule } from "@angular/forms";
import { HttpClientModule } from "@angular/common/http";
import { BrowserAnimationsModule } 
    from "@angular/platform-browser/animations";
import { AppComponent } from "./app.component";
import { NodeService } from "./nodeservice";
import { TreeTableModule } from "primeng/treetable";
import { ButtonModule } from "primeng/button";
import { InputTextModule } from "primeng/inputtext";
  
@NgModule({
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    TreeTableModule,
    ButtonModule,
    InputTextModule,
    HttpClientModule,
    FormsModule,
  ],
  declarations: [AppComponent],
  bootstrap: [AppComponent],
  providers: [NodeService],
})
export class AppModule {}

输出:

Angular PrimeNG TreeTable加载状态

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程