From 7c77928bec690c12384f99a80d3dd8ff791bd23a Mon Sep 17 00:00:00 2001 From: cipchk Date: Fri, 8 Dec 2023 13:40:17 +0000 Subject: [PATCH] deploy: 1639b9f8cec9dcfbb7009b2cda6d2c7912d744c0 --- chart/pie/en/index.html | 2 +- chart/pie/zh/index.html | 2 +- components/cell/en/index.html | 2 +- components/cell/zh/index.html | 2 +- components/page-header/en/index.html | 4 +-- components/se/en/index.html | 18 ++++++------ components/se/zh/index.html | 18 ++++++------ components/st/en/index.html | 44 ++++++++++++++-------------- components/st/zh/index.html | 44 ++++++++++++++-------------- components/xlsx/en/index.html | 2 +- components/xlsx/zh/index.html | 2 +- dev/home/index.html | 2 +- dev/l1/index.html | 2 +- dev/l2/index.html | 4 +-- dev/l3/index.html | 4 +-- dev/l4/index.html | 2 +- dev/l5/index.html | 4 +-- dev/l6/index.html | 4 +-- dev/l7/index.html | 2 +- dev/l8/index.html | 4 +-- dev/lazy/index.html | 4 +-- dev/lazy/p1/index.html | 4 +-- dev/lazy/p2/index.html | 6 ++-- dev/lazy/p3/index.html | 6 ++-- dev/lazy/p4/index.html | 4 +-- dev/lazy/p5/index.html | 4 +-- dev/list/index.html | 6 ++-- dev/list/item/index.html | 6 ++-- dev/login/index.html | 4 +-- ngsw.en.json | 2 +- ngsw.json | 2 +- ngsw.zh.json | 2 +- sitemap.xml | 2 +- 33 files changed, 110 insertions(+), 110 deletions(-) diff --git a/chart/pie/en/index.html b/chart/pie/en/index.html index 608fa1416..22614df30 100644 --- a/chart/pie/en/index.html +++ b/chart/pie/en/index.html @@ -1,4 +1,4 @@ -g2-pie - NG-ALAIN
This article has not been translated, hope that your can PR to translated it. Help us!

饼状图
IMPORT MODULE

用于显示跟速度相关图形再适合不过。

代码演示

销售额

¥ 15026.00
基础

基础用法。默认情况下丝滑更新数据的判断标准是以只更新 data 为准,这里利用 repaint 进行手动调用 changeData 改变数据达到丝滑更新的效果。

expand code expand code
import { Component, ViewChild } from '@angular/core';
+g2-pie - NG-ALAIN
This article has not been translated, hope that your can PR to translated it. Help us!

饼状图
IMPORT MODULE

用于显示跟速度相关图形再适合不过。

代码演示

销售额

¥ 20282.00
基础

基础用法。默认情况下丝滑更新数据的判断标准是以只更新 data 为准,这里利用 repaint 进行手动调用 changeData 改变数据达到丝滑更新的效果。

expand code expand code
import { Component, ViewChild } from '@angular/core';
 import { G2PieClickItem, G2PieComponent, G2PieData } from '@delon/chart/pie';
 import { NzMessageService } from 'ng-zorro-antd/message';
 
diff --git a/chart/pie/zh/index.html b/chart/pie/zh/index.html
index 2b5068aac..fa262f202 100644
--- a/chart/pie/zh/index.html
+++ b/chart/pie/zh/index.html
@@ -1,4 +1,4 @@
-g2-pie - NG-ALAIN
This article has not been translated, hope that your can PR to translated it. Help us!

饼状图
IMPORT MODULE

用于显示跟速度相关图形再适合不过。

代码演示

销售额

¥ 13739.00
基础

基础用法。默认情况下丝滑更新数据的判断标准是以只更新 data 为准,这里利用 repaint 进行手动调用 changeData 改变数据达到丝滑更新的效果。

expand code expand code
import { Component, ViewChild } from '@angular/core';
+g2-pie - NG-ALAIN
This article has not been translated, hope that your can PR to translated it. Help us!

饼状图
IMPORT MODULE

用于显示跟速度相关图形再适合不过。

代码演示

销售额

¥ 17209.00
基础

基础用法。默认情况下丝滑更新数据的判断标准是以只更新 data 为准,这里利用 repaint 进行手动调用 changeData 改变数据达到丝滑更新的效果。

expand code expand code
import { Component, ViewChild } from '@angular/core';
 import { G2PieClickItem, G2PieComponent, G2PieData } from '@delon/chart/pie';
 import { NzMessageService } from 'ng-zorro-antd/message';
 
diff --git a/components/cell/en/index.html b/components/cell/en/index.html
index c5e4b8400..5166331cf 100644
--- a/components/cell/en/index.html
+++ b/components/cell/en/index.html
@@ -1,4 +1,4 @@
-cell - NG-ALAIN

单元格数据
IMPORT MODULE

内置支持十几种数据类型的格式化,且支持小部件自定义模式。

代码演示

"string" =>string
true =>
false =>
100 =>100
1000000 =>1000000
"2023-12-08T13:02:05.237Z" =>2023-12-08 13:02:05
date-fn =>3 天
mega =>15.9亿
mask =>159****0000
currency =>100000$
cny =>壹拾万元整
img =>
img preview =>
img list =>
html =>Strong
SafeHtml =>Strong HtmlupdateSafeHtml
badge =>Done
tag =>Wait
checkbox =>Change Disabled
enum =>SuccessChange Value(enum value: 1)
default =>-
primary =>primary
success =>success
danger =>danger
warning =>warning
size =>small,default,large
tooltip =>tooltip
loading =>Change
Async =>1702040525326Again
Unit =>3
Text Unit =>100
custom widget =>
基础样例

最简单的用法。

expand code expand code
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
+cell - NG-ALAIN

单元格数据
IMPORT MODULE

内置支持十几种数据类型的格式化,且支持小部件自定义模式。

代码演示

"string" =>string
true =>
false =>
100 =>100
1000000 =>1000000
"2023-12-08T13:37:33.683Z" =>2023-12-08 13:37:33
date-fn =>3 天
mega =>15.9亿
mask =>159****0000
currency =>100000$
cny =>壹拾万元整
img =>
img preview =>
img list =>
html =>Strong
SafeHtml =>Strong HtmlupdateSafeHtml
badge =>Done
tag =>Wait
checkbox =>Change Disabled
enum =>SuccessChange Value(enum value: 1)
default =>-
primary =>primary
success =>success
danger =>danger
warning =>warning
size =>small,default,large
tooltip =>tooltip
loading =>Change
Async =>1702042653766Again
Unit =>3
Text Unit =>100
custom widget =>
基础样例

最简单的用法。

expand code expand code
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
 import { DomSanitizer } from '@angular/platform-browser';
 import { delay, finalize, of, take } from 'rxjs';
 
diff --git a/components/cell/zh/index.html b/components/cell/zh/index.html
index eb07153c3..b77ca745e 100644
--- a/components/cell/zh/index.html
+++ b/components/cell/zh/index.html
@@ -1,4 +1,4 @@
-cell - NG-ALAIN

单元格数据
IMPORT MODULE

内置支持十几种数据类型的格式化,且支持小部件自定义模式。

代码演示

"string" =>string
true =>
false =>
100 =>100
1000000 =>1000000
"2023-12-08T13:02:05.371Z" =>2023-12-08 13:02:05
date-fn =>3 天
mega =>15.9亿
mask =>159****0000
currency =>100000$
cny =>壹拾万元整
img =>
img preview =>
img list =>
html =>Strong
SafeHtml =>Strong HtmlupdateSafeHtml
badge =>Done
tag =>Wait
checkbox =>Change Disabled
enum =>SuccessChange Value(enum value: 1)
default =>-
primary =>primary
success =>success
danger =>danger
warning =>warning
size =>small,default,large
tooltip =>tooltip
loading =>Change
Async =>1702040525447Again
Unit =>3
Text Unit =>100
custom widget =>
基础样例

最简单的用法。

expand code expand code
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
+cell - NG-ALAIN

单元格数据
IMPORT MODULE

内置支持十几种数据类型的格式化,且支持小部件自定义模式。

代码演示

"string" =>string
true =>
false =>
100 =>100
1000000 =>1000000
"2023-12-08T13:37:33.744Z" =>2023-12-08 13:37:33
date-fn =>3 天
mega =>15.9亿
mask =>159****0000
currency =>100000$
cny =>壹拾万元整
img =>
img preview =>
img list =>
html =>Strong
SafeHtml =>Strong HtmlupdateSafeHtml
badge =>Done
tag =>Wait
checkbox =>Change Disabled
enum =>SuccessChange Value(enum value: 1)
default =>-
primary =>primary
success =>success
danger =>danger
warning =>warning
size =>small,default,large
tooltip =>tooltip
loading =>Change
Async =>1702042653832Again
Unit =>3
Text Unit =>100
custom widget =>
基础样例

最简单的用法。

expand code expand code
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
 import { DomSanitizer } from '@angular/platform-browser';
 import { delay, finalize, of, take } from 'rxjs';
 
diff --git a/components/page-header/en/index.html b/components/page-header/en/index.html
index fe69eef87..654b91382 100644
--- a/components/page-header/en/index.html
+++ b/components/page-header/en/index.html
@@ -1,4 +1,4 @@
-页面标题 - NG-ALAIN

页头
IMPORT MODULE

页头用来声明页面的主题,包含了用户所关注的最重要的信息,使用户可以快速理解当前页面是什么以及它的功能。

代码演示

基本结构

基本结构,具备响应式布局功能,主要断点为 768px 和 576px,拖动窗口改变大小试试看。

expand code expand code
import { Component, ViewEncapsulation } from '@angular/core';
+页面标题 - NG-ALAIN

页头
IMPORT MODULE

页头用来声明页面的主题,包含了用户所关注的最重要的信息,使用户可以快速理解当前页面是什么以及它的功能。

代码演示

基本结构

基本结构,具备响应式布局功能,主要断点为 768px 和 576px,拖动窗口改变大小试试看。

expand code expand code
import { Component, ViewEncapsulation } from '@angular/core';
 
 @Component({
   selector: 'components-page-header-structure',
@@ -48,7 +48,7 @@
   ],
   encapsulation: ViewEncapsulation.Emulated,
 })
-export class ComponentsPageHeaderStructureComponent {}
标准

标准页头。

expand code expand code
import { Component } from '@angular/core';
+export class ComponentsPageHeaderStructureComponent {}
标准

标准页头。

expand code expand code
import { Component } from '@angular/core';
 import { NzMessageService } from 'ng-zorro-antd/message';
 
 @Component({
diff --git a/components/se/en/index.html b/components/se/en/index.html
index 9f91db102..1a065621f 100644
--- a/components/se/en/index.html
+++ b/components/se/en/index.html
@@ -8,7 +8,7 @@
   <se>
     <button nz-button nzType="primary" [disabled]="f.invalid">Save</button>
   </se>
-</form>

同时,会自动处理所有 Angular 内置校验指令,例如:requiredmaxlengthminpattern 等,并以红色边框来表示无效值状态。

代码演示

基础

一行两列表单。

expand code expand code
import { Component } from '@angular/core';
+</form>

同时,会自动处理所有 Angular 内置校验指令,例如:requiredmaxlengthminpattern 等,并以红色边框来表示无效值状态。

代码演示

基础

一行两列表单。

expand code expand code
import { Component } from '@angular/core';
 import { NzMessageService } from 'ng-zorro-antd/message';
 
 @Component({
@@ -47,7 +47,7 @@
   i: { ak?: string; sk?: string } = {};
 
   constructor(public msg: NzMessageService) {}
-}
响应式表单

支持响应式表单。

注意:

  • 响应式表单无法自动获取 Validators.required 来判断是否需要必填项标识符,因此需要手动标识 required 属性。

  • 当需要使用 patchValue 赋值时,因为 dirty 依然保持为 false 的因素,需要对所有表单元素设置 markAsDirty() 或者使用 ingoreDirty 属性强制忽略 dirty 的校验。

expand code expand code
import { Component } from '@angular/core';
+}
响应式表单

支持响应式表单。

注意:

  • 响应式表单无法自动获取 Validators.required 来判断是否需要必填项标识符,因此需要手动标识 required 属性。

  • 当需要使用 patchValue 赋值时,因为 dirty 依然保持为 false 的因素,需要对所有表单元素设置 markAsDirty() 或者使用 ingoreDirty 属性强制忽略 dirty 的校验。

expand code expand code
import { Component } from '@angular/core';
 import { FormControl, FormGroup, Validators } from '@angular/forms';
 
 import { NzMessageService } from 'ng-zorro-antd/message';
@@ -86,7 +86,7 @@
   updateValue(): void {
     this.validateForm.patchValue({ userName: 'a' });
   }
-}
紧凑型

强制忽略 errorextra 展示。

expand code expand code
import { Component } from '@angular/core';
+}
紧凑型

强制忽略 errorextra 展示。

expand code expand code
import { Component } from '@angular/core';
 
 @Component({
   selector: 'components-se-compact',
@@ -104,7 +104,7 @@
 })
 export class ComponentsSeCompactComponent {
   i: { ak?: string; sk?: string } = {};
-}
额外提示信息
水平排列

一行一列表单。

expand code expand code
import { Component } from '@angular/core';
+}
额外提示信息
水平排列

一行一列表单。

expand code expand code
import { Component } from '@angular/core';
 
 @Component({
   selector: 'components-se-horizontal',
@@ -122,7 +122,7 @@
 })
 export class ComponentsSeHorizontalComponent {
   i: { ak?: string; sk?: string } = {};
-}
内联布局

nzLayout: inline 时强制使用紧凑型,一般用于搜索框。

expand code expand code
import { Component } from '@angular/core';
+}
内联布局

nzLayout: inline 时强制使用紧凑型,一般用于搜索框。

expand code expand code
import { Component } from '@angular/core';
 
 @Component({
   selector: 'components-se-inline',
@@ -141,7 +141,7 @@
 })
 export class ComponentsSeInlineComponent {
   i: { ak?: string; sk?: string } = {};
-}
额外提示信息
垂直布局

垂直布局表单。

expand code expand code
import { Component } from '@angular/core';
+}
额外提示信息
垂直布局

垂直布局表单。

expand code expand code
import { Component } from '@angular/core';
 
 @Component({
   selector: 'components-se-vertical',
@@ -159,7 +159,7 @@
 })
 export class ComponentsSeVerticalComponent {
   i: { ak?: string; sk?: string } = {};
-}
头像
分隔线

构建一个左右结构的标准表单行。

expand code expand code
import { Component } from '@angular/core';
+}
头像
分隔线

构建一个左右结构的标准表单行。

expand code expand code
import { Component } from '@angular/core';
 
 @Component({
   selector: 'components-se-line',
@@ -175,7 +175,7 @@
     </se>
   </form>`,
 })
-export class ComponentsSeLineComponent {}

Operating

Reactive

批量重置错误消息

利用 errors 可以批量对所有 se 组件重置 error 值。

expand code expand code
import { Component } from '@angular/core';
+export class ComponentsSeLineComponent {}

Operating

Reactive

批量重置错误消息

利用 errors 可以批量对所有 se 组件重置 error 值。

expand code expand code
import { Component } from '@angular/core';
 import { FormControl, FormGroup, Validators } from '@angular/forms';
 
 import { SEErrorRefresh } from '@delon/abc/se';
@@ -251,7 +251,7 @@
       { name: 'password', error: 'Required password' }
     ];
   }
-}
Title 1
1000
3
+86
Title 2
id

暂无数据

不规则布局

利用 col 可以构建复杂不规则布局。

expand code expand code
import { Component } from '@angular/core';
+}
Title 1
1000
3
+86
Title 2
id

暂无数据

不规则布局

利用 col 可以构建复杂不规则布局。

expand code expand code
import { Component } from '@angular/core';
 
 import { STColumn } from '@delon/abc/st';
 
diff --git a/components/se/zh/index.html b/components/se/zh/index.html
index d4d8f8f63..faa89ae8f 100644
--- a/components/se/zh/index.html
+++ b/components/se/zh/index.html
@@ -8,7 +8,7 @@
   <se>
     <button nz-button nzType="primary" [disabled]="f.invalid">Save</button>
   </se>
-</form>

同时,会自动处理所有 Angular 内置校验指令,例如:requiredmaxlengthminpattern 等,并以红色边框来表示无效值状态。

代码演示

基础

一行两列表单。

expand code expand code
import { Component } from '@angular/core';
+</form>

同时,会自动处理所有 Angular 内置校验指令,例如:requiredmaxlengthminpattern 等,并以红色边框来表示无效值状态。

代码演示

基础

一行两列表单。

expand code expand code
import { Component } from '@angular/core';
 import { NzMessageService } from 'ng-zorro-antd/message';
 
 @Component({
@@ -47,7 +47,7 @@
   i: { ak?: string; sk?: string } = {};
 
   constructor(public msg: NzMessageService) {}
-}
响应式表单

支持响应式表单。

注意:

  • 响应式表单无法自动获取 Validators.required 来判断是否需要必填项标识符,因此需要手动标识 required 属性。

  • 当需要使用 patchValue 赋值时,因为 dirty 依然保持为 false 的因素,需要对所有表单元素设置 markAsDirty() 或者使用 ingoreDirty 属性强制忽略 dirty 的校验。

expand code expand code
import { Component } from '@angular/core';
+}
响应式表单

支持响应式表单。

注意:

  • 响应式表单无法自动获取 Validators.required 来判断是否需要必填项标识符,因此需要手动标识 required 属性。

  • 当需要使用 patchValue 赋值时,因为 dirty 依然保持为 false 的因素,需要对所有表单元素设置 markAsDirty() 或者使用 ingoreDirty 属性强制忽略 dirty 的校验。

expand code expand code
import { Component } from '@angular/core';
 import { FormControl, FormGroup, Validators } from '@angular/forms';
 
 import { NzMessageService } from 'ng-zorro-antd/message';
@@ -86,7 +86,7 @@
   updateValue(): void {
     this.validateForm.patchValue({ userName: 'a' });
   }
-}
紧凑型

强制忽略 errorextra 展示。

expand code expand code
import { Component } from '@angular/core';
+}
紧凑型

强制忽略 errorextra 展示。

expand code expand code
import { Component } from '@angular/core';
 
 @Component({
   selector: 'components-se-compact',
@@ -104,7 +104,7 @@
 })
 export class ComponentsSeCompactComponent {
   i: { ak?: string; sk?: string } = {};
-}
额外提示信息
水平排列

一行一列表单。

expand code expand code
import { Component } from '@angular/core';
+}
额外提示信息
水平排列

一行一列表单。

expand code expand code
import { Component } from '@angular/core';
 
 @Component({
   selector: 'components-se-horizontal',
@@ -122,7 +122,7 @@
 })
 export class ComponentsSeHorizontalComponent {
   i: { ak?: string; sk?: string } = {};
-}
内联布局

nzLayout: inline 时强制使用紧凑型,一般用于搜索框。

expand code expand code
import { Component } from '@angular/core';
+}
内联布局

nzLayout: inline 时强制使用紧凑型,一般用于搜索框。

expand code expand code
import { Component } from '@angular/core';
 
 @Component({
   selector: 'components-se-inline',
@@ -141,7 +141,7 @@
 })
 export class ComponentsSeInlineComponent {
   i: { ak?: string; sk?: string } = {};
-}
额外提示信息
垂直布局

垂直布局表单。

expand code expand code
import { Component } from '@angular/core';
+}
额外提示信息
垂直布局

垂直布局表单。

expand code expand code
import { Component } from '@angular/core';
 
 @Component({
   selector: 'components-se-vertical',
@@ -159,7 +159,7 @@
 })
 export class ComponentsSeVerticalComponent {
   i: { ak?: string; sk?: string } = {};
-}
头像
分隔线

构建一个左右结构的标准表单行。

expand code expand code
import { Component } from '@angular/core';
+}
头像
分隔线

构建一个左右结构的标准表单行。

expand code expand code
import { Component } from '@angular/core';
 
 @Component({
   selector: 'components-se-line',
@@ -175,7 +175,7 @@
     </se>
   </form>`,
 })
-export class ComponentsSeLineComponent {}

Operating

Reactive

批量重置错误消息

利用 errors 可以批量对所有 se 组件重置 error 值。

expand code expand code
import { Component } from '@angular/core';
+export class ComponentsSeLineComponent {}

Operating

Reactive

批量重置错误消息

利用 errors 可以批量对所有 se 组件重置 error 值。

expand code expand code
import { Component } from '@angular/core';
 import { FormControl, FormGroup, Validators } from '@angular/forms';
 
 import { SEErrorRefresh } from '@delon/abc/se';
@@ -251,7 +251,7 @@
       { name: 'password', error: 'Required password' }
     ];
   }
-}
Title 1
1000
3
+86
Title 2
id

暂无数据

不规则布局

利用 col 可以构建复杂不规则布局。

expand code expand code
import { Component } from '@angular/core';
+}
Title 1
1000
3
+86
Title 2
id

暂无数据

不规则布局

利用 col 可以构建复杂不规则布局。

expand code expand code
import { Component } from '@angular/core';
 
 import { STColumn } from '@delon/abc/st';
 
diff --git a/components/st/en/index.html b/components/st/en/index.html
index 03450ee58..3f87ce556 100644
--- a/components/st/en/index.html
+++ b/components/st/en/index.html
@@ -1,4 +1,4 @@
-st - NG-ALAIN

表格
IMPORT MODULE

st 并不是在创造另一个表格组件,而是在 nz-table 基础上以可配置形式渲染表格,在中后台里这种方式可以满足绝大多数场景,但又可以更易地管理表格渲染动作。

关于数据源

data 支持三种不同格式数据源,整体分为:URL和静态数据两类;但可以透过参数的配置达到不同的效果,同时有非常多参数可通过 AlainSTConfig 重置默认值,使整个 st 组件模板达到极简。

URL

指的是通过一个 URL 字符串来获取数据。

  • 通过 req.paramsreq.method 等参数解决请求数据格式问题

  • 通过 res.reName 重置数据 key 而无须担心后端数据格式是否满足 st 需求

  • 通过 res.process 可以对表格渲染前对数据进一步优化

  • 通过 page.zeroIndexed 可以调整 http 请求时 pi 参数是否遵循 0 基索引,默认情况下为 1 基索引

  • 若返回体的值是数组类型,则强制不分页

  • 使用 _HttpClient 发起请求,因此满足 AlainThemeConfig 的配置也适用

静态数据

指的是通过指定值为 STData[]Observable<STData[]>,二者都遵循以下规则:

  • page.front 前端分页,默认:true

    • truest 根据 data 长度受控分页,包括:排序、过滤等

    • false 由用户通过 totaldata 参数受控分页,并维护 (change) 当分页变更时重新加载数据

  • page.show 是否显示分页器;当未指定时若 ps>total 情况下自动不显示

常见问题

Cannot read property 'text' of undefined

若组件已经加载完毕,此时如果再次改变 columns 时可能会出现该错误,这是因为 st 每次只会根据 columns 对数据处理,当列定义发生改变后可能会因为列定义与现有数据无法配对,可能需要使用 this.st.resetColumns({ columns: [], emitReload: true }) 来更新列定义并重新加载数据。

某列显示INVALID DATA

当在解析列数据时抛出异常时,会强制显示 INVALID DATA,例如当某指定 type: 'number' 时,而实际获得值为非有效数字型时就会抛出异常。

代码演示

编号头像邮箱电话佣金(单位:元)注册时间
编号1头像邮箱aaa7@qq.com电话phone-43502佣金(单位:元)912,740注册时间2023-12-08 13:02
编号2头像邮箱aaa10@qq.com电话phone-37975佣金(单位:元)424,797注册时间2023-12-08 13:02
编号3头像邮箱aaa3@qq.com电话phone-46341佣金(单位:元)127,767注册时间2023-12-08 13:02
  • 共 2 条
  • 1
基本

快速生成表格;利用 res 可以适配后端数据格式。

expand code expand code
import { Component, ViewChild } from '@angular/core';
+st - NG-ALAIN

表格
IMPORT MODULE

st 并不是在创造另一个表格组件,而是在 nz-table 基础上以可配置形式渲染表格,在中后台里这种方式可以满足绝大多数场景,但又可以更易地管理表格渲染动作。

关于数据源

data 支持三种不同格式数据源,整体分为:URL和静态数据两类;但可以透过参数的配置达到不同的效果,同时有非常多参数可通过 AlainSTConfig 重置默认值,使整个 st 组件模板达到极简。

URL

指的是通过一个 URL 字符串来获取数据。

  • 通过 req.paramsreq.method 等参数解决请求数据格式问题

  • 通过 res.reName 重置数据 key 而无须担心后端数据格式是否满足 st 需求

  • 通过 res.process 可以对表格渲染前对数据进一步优化

  • 通过 page.zeroIndexed 可以调整 http 请求时 pi 参数是否遵循 0 基索引,默认情况下为 1 基索引

  • 若返回体的值是数组类型,则强制不分页

  • 使用 _HttpClient 发起请求,因此满足 AlainThemeConfig 的配置也适用

静态数据

指的是通过指定值为 STData[]Observable<STData[]>,二者都遵循以下规则:

  • page.front 前端分页,默认:true

    • truest 根据 data 长度受控分页,包括:排序、过滤等

    • false 由用户通过 totaldata 参数受控分页,并维护 (change) 当分页变更时重新加载数据

  • page.show 是否显示分页器;当未指定时若 ps>total 情况下自动不显示

常见问题

Cannot read property 'text' of undefined

若组件已经加载完毕,此时如果再次改变 columns 时可能会出现该错误,这是因为 st 每次只会根据 columns 对数据处理,当列定义发生改变后可能会因为列定义与现有数据无法配对,可能需要使用 this.st.resetColumns({ columns: [], emitReload: true }) 来更新列定义并重新加载数据。

某列显示INVALID DATA

当在解析列数据时抛出异常时,会强制显示 INVALID DATA,例如当某指定 type: 'number' 时,而实际获得值为非有效数字型时就会抛出异常。

代码演示

编号头像邮箱电话佣金(单位:元)注册时间
编号1头像邮箱aaa9@qq.com电话phone-98813佣金(单位:元)8,132,246注册时间2023-12-08 13:38
编号2头像邮箱aaa7@qq.com电话phone-13895佣金(单位:元)4,145,453注册时间2023-12-08 13:38
编号3头像邮箱aaa8@qq.com电话phone-70294佣金(单位:元)3,349,262注册时间2023-12-08 13:38
  • 共 2 条
  • 1
基本

快速生成表格;利用 res 可以适配后端数据格式。

expand code expand code
import { Component, ViewChild } from '@angular/core';
 
 import { STColumn, STComponent } from '@delon/abc/st';
 
@@ -46,7 +46,7 @@
   setRow(): void {
     this.st.setRow(0, { price: 100000000 });
   }
-}
姓名年龄状态DateCustom
编号姓名name 1年龄27状态ProcessingDate2023-12-08 13:02Customname 1
编号姓名name 2年龄27状态WarningDate2023-12-08 13:02Customname 2
编号姓名name 3年龄24状态ProcessingDate2023-12-08 13:02Customname 3
自定义数据

data 属性支持 STData[]Observable 数据类型。

expand code expand code
import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';
+}
姓名年龄状态DateCustom
编号姓名name 1年龄27状态DefaultDate2023-12-08 13:38Customname 1
编号姓名name 2年龄21状态ProcessingDate2023-12-08 13:38Customname 2
编号姓名name 3年龄22状态WarningDate2023-12-08 13:38Customname 3
自定义数据

data 属性支持 STData[]Observable 数据类型。

expand code expand code
import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';
 import { of, delay } from 'rxjs';
 
 import { STChange, STColumn, STColumnFilter, STColumnFilterHandle, STData } from '@delon/abc/st';
@@ -197,7 +197,7 @@
   change(e: STChange): void {
     console.log(e);
   }
-}
行号姓名年龄HTMLTexttagbadgeEnumyn
行号1姓名name 1年龄30HTML1 OtherText<strong>1</strong> Othertag错误badge错误Enumyn
行号2姓名name 2年龄18HTML2 OtherText<strong>2</strong> Othertag默认badge进行中Enumyn
行号3姓名name 3年龄14HTML3 OtherText<strong>3</strong> Othertag成功badge警告Enumyn
列类型

支持十种不同列类型:行号、多选、单选、徽标、标签、图片、数字、货币、日期、布尔徽章、枚举。也可以使用自定义列完成更复杂渲染。

expand code expand code
import { Component } from '@angular/core';
+}
行号姓名年龄HTMLTexttagbadgeEnumyn
行号1姓名name 1年龄43HTML1 OtherText<strong>1</strong> Othertag成功badge成功Enumyn
行号2姓名name 2年龄49HTML2 OtherText<strong>2</strong> Othertag成功badge成功Enumyn
行号3姓名name 3年龄44HTML3 OtherText<strong>3</strong> Othertag成功badge警告Enumyn
列类型

支持十种不同列类型:行号、多选、单选、徽标、标签、图片、数字、货币、日期、布尔徽章、枚举。也可以使用自定义列完成更复杂渲染。

expand code expand code
import { Component } from '@angular/core';
 
 import { STColumn, STColumnBadge, STColumnTag, STData } from '@delon/abc/st';
 
@@ -256,7 +256,7 @@
   constructor() {
     this.reload();
   }
-}
编号类型头像邮箱电话佣金人民币写法Site可用注册时间
编号1类型会员头像邮箱aaa5@qq.com电话****5857佣金9,994,429人民币写法柒佰肆拾叁万贰仟捌佰贰拾元整Sitehttps://9037347.com/可用注册时间2023-12-08 13:02:34
编号2类型普通头像邮箱aaa10@qq.com电话****3242佣金6,831,262人民币写法捌佰伍拾叁万陆仟柒佰陆拾肆元整Sitehttps://769702.com/可用注册时间2023-12-08 13:02:34
编号3类型管理头像邮箱aaa4@qq.com电话****4724佣金3,100,971人民币写法伍佰贰拾壹万捌仟壹佰捌拾贰元整Sitehttps://923157.com/可用注册时间2023-12-08 13:02:34
  • 共 2 条
  • 1
单元格

使用 cell 组件更丰富的渲染。

expand code expand code
import { Component, ViewChild } from '@angular/core';
+}
编号类型头像邮箱电话佣金人民币写法Site可用注册时间
编号1类型普通头像邮箱aaa7@qq.com电话****6235佣金6,973,179人民币写法玖佰壹拾伍万伍仟捌佰叁拾贰元整Sitehttps://536889.com/可用注册时间2023-12-08 13:38:03
编号2类型管理头像邮箱aaa1@qq.com电话****1529佣金292,515人民币写法贰万叁仟零陆拾捌元整Sitehttps://3439945.com/可用注册时间2023-12-08 13:38:03
编号3类型会员头像邮箱aaa2@qq.com电话****7009佣金8,303,201人民币写法柒佰伍拾柒万捌仟捌佰零陆元整Sitehttps://7093127.com/可用注册时间2023-12-08 13:38:03
  • 共 2 条
  • 1
单元格

使用 cell 组件更丰富的渲染。

expand code expand code
import { Component, ViewChild } from '@angular/core';
 import { STColumn, STComponent } from '@delon/abc/st';
 import type { CellOptions } from '@delon/abc/cell';
 
@@ -312,7 +312,7 @@
   setRow(): void {
     this.st.setRow(0, { price: 100000000 });
   }
-}
头像邮箱电话注册时间
编号头像邮箱aaa4@qq.com电话phone-82225注册时间2023-12-08 13:02
编号头像邮箱aaa8@qq.com电话phone-33444注册时间2023-12-08 13:02
编号头像邮箱aaa5@qq.com电话phone-18830注册时间2023-12-08 13:02
可选择

利用 change 监听所选的数据。

expand code expand code
import { Component } from '@angular/core';
+}
头像邮箱电话注册时间
编号头像邮箱aaa7@qq.com电话phone-2497注册时间2023-12-08 13:38
编号头像邮箱aaa3@qq.com电话phone-40714注册时间2023-12-08 13:38
编号头像邮箱aaa3@qq.com电话phone-38199注册时间2023-12-08 13:38
可选择

利用 change 监听所选的数据。

expand code expand code
import { Component } from '@angular/core';
 
 import { STChange, STColumn, STData } from '@delon/abc/st';
 
@@ -351,7 +351,7 @@
       return i;
     });
   }
-}
编号头像邮箱电话注册时间
编号头像邮箱aaa1@qq.com电话phone-13567注册时间2023-12-08 13:02
编号头像邮箱aaa2@qq.com电话phone-92870注册时间2023-12-08 13:02
编号头像邮箱aaa9@qq.com电话phone-64121注册时间2023-12-08 13:02
单选框

利用 change 监听所选的数据。

expand code expand code
import { Component } from '@angular/core';
+}
编号头像邮箱电话注册时间
编号头像邮箱aaa3@qq.com电话phone-18136注册时间2023-12-08 13:38
编号头像邮箱aaa3@qq.com电话phone-41018注册时间2023-12-08 13:38
编号头像邮箱aaa5@qq.com电话phone-85882注册时间2023-12-08 13:38
单选框

利用 change 监听所选的数据。

expand code expand code
import { Component } from '@angular/core';
 
 import { STChange, STColumn, STData } from '@delon/abc/st';
 
@@ -392,7 +392,7 @@
       return i;
     });
   }
-}
编号邮箱电话注册时间
编号1邮箱aaa3@qq.com电话phone-43762注册时间2023-12-08 13:02
编号2邮箱aaa9@qq.com电话phone-38669注册时间2023-12-08 13:02
编号3邮箱aaa1@qq.com电话phone-60672注册时间2023-12-08 13:02
  • 共 2 条
  • 1
右键菜单

利用 contextmenu 实现点击整个表格右键菜单。

expand code expand code
import { Component } from '@angular/core';
+}
编号邮箱电话注册时间
编号1邮箱aaa8@qq.com电话phone-34784注册时间2023-12-08 13:38
编号2邮箱aaa9@qq.com电话phone-64446注册时间2023-12-08 13:38
编号3邮箱aaa1@qq.com电话phone-52419注册时间2023-12-08 13:38
  • 共 2 条
  • 1
右键菜单

利用 contextmenu 实现点击整个表格右键菜单。

expand code expand code
import { Component } from '@angular/core';
 import { STColumn, STContextmenuFn, STContextmenuItem, STContextmenuOptions } from '@delon/abc/st';
 import { NzMessageService } from 'ng-zorro-antd/message';
 
@@ -462,7 +462,7 @@
       },
     ];
   };
-}
编号姓名年龄启用OP
编号1姓名name 1年龄29启用YOPEdit
编号2姓名name 2年龄23启用NOPEdit
编号3姓名name 3年龄29启用YOPEdit
可编辑行

定制带行编辑功能的表格,自由操作行内容。

expand code expand code
import { Component, ViewChild } from '@angular/core';
+}
编号姓名年龄启用OP
编号1姓名name 1年龄27启用YOPEdit
编号2姓名name 2年龄26启用NOPEdit
编号3姓名name 3年龄24启用YOPEdit
可编辑行

定制带行编辑功能的表格,自由操作行内容。

expand code expand code
import { Component, ViewChild } from '@angular/core';
 import { STColumn, STComponent, STData } from '@delon/abc/st';
 import { NzMessageService } from 'ng-zorro-antd/message';
 
@@ -545,7 +545,7 @@
   private updateEdit(i: STData, edit: boolean): void {
     this.st.setRow(i, { edit }, { refreshSchema: true });
   }
-}
编号头像邮箱电话注册时间
编号1头像邮箱aaa6@qq.com电话phone-8683注册时间2023-12-08 13:02
编号2头像邮箱aaa4@qq.com电话phone-41865注册时间2023-12-08 13:02
编号3头像邮箱aaa1@qq.com电话phone-39538注册时间2023-12-08 13:02
搜索表单

配合 load() & reset() 实现搜索表单。

expand code expand code
import { Component } from '@angular/core';
+}
编号头像邮箱电话注册时间
编号1头像邮箱aaa9@qq.com电话phone-23703注册时间2023-12-08 13:38
编号2头像邮箱aaa10@qq.com电话phone-70093注册时间2023-12-08 13:38
编号3头像邮箱aaa7@qq.com电话phone-24807注册时间2023-12-08 13:38
搜索表单

配合 load() & reset() 实现搜索表单。

expand code expand code
import { Component } from '@angular/core';
 import { STColumn } from '@delon/abc/st';
 
 @Component({
@@ -569,7 +569,7 @@
     { title: '电话', index: 'phone' },
     { title: '注册时间', type: 'date', index: 'registered' },
   ];
-}
编号邮箱电话
编号1邮箱aaa4@qq.com电话phone-8695
编号2邮箱aaa6@qq.com电话phone-77432
编号3邮箱aaa3@qq.com电话phone-39921
行操作

利用 addRowremoveRowsetRow 方法对行的操作。

打开控制面板了解打印明细。

expand code expand code
import { Component } from '@angular/core';
+}
编号邮箱电话
编号1邮箱aaa6@qq.com电话phone-13903
编号2邮箱aaa5@qq.com电话phone-69771
编号3邮箱aaa6@qq.com电话phone-85805
行操作

利用 addRowremoveRowsetRow 方法对行的操作。

打开控制面板了解打印明细。

expand code expand code
import { Component } from '@angular/core';
 
 import { STChange, STClickRowClassNameType, STColumn } from '@delon/abc/st';
 
@@ -600,7 +600,7 @@
   _click(e: STChange): void {
     console.log('click', e);
   }
-}
编号头像姓名国家性别注册时间
编号1头像姓名1: last-2 first-18国家CH性别male注册时间2023-12-08 13:02
编号2头像姓名2: last-6 first-17国家US性别female注册时间2023-12-08 13:02
编号3头像姓名3: last-10 first-20国家DE性别male注册时间2023-12-08 13:02
后端筛选和排序

利用 multiSort 支持多字段排序。

expand code expand code
import { Component } from '@angular/core';
+}
编号头像姓名国家性别注册时间
编号1头像姓名1: last-1 first-18国家CH性别male注册时间2023-12-08 13:38
编号2头像姓名2: last-2 first-16国家US性别female注册时间2023-12-08 13:38
编号3头像姓名3: last-5 first-16国家DE性别male注册时间2023-12-08 13:38
后端筛选和排序

利用 multiSort 支持多字段排序。

expand code expand code
import { Component } from '@angular/core';
 import { STColumn, STData } from '@delon/abc/st';
 
 interface UserData extends STData {
@@ -655,7 +655,7 @@
     },
     { title: '注册时间', type: 'date', index: 'registered' },
   ];
-}
编号姓名年龄
编号1姓名name 1年龄28Button
编号2姓名name 2年龄29Button
编号3姓名name 3年龄22Button
可展开

使用 #expand 模板实现可展开,允许接收 itemindexcolumn 三个值。附加可实现:嵌套子表格。

expand code expand code
import { Component } from '@angular/core';
+}
编号姓名年龄
编号1姓名name 1年龄22Button
编号2姓名name 2年龄21Button
编号3姓名name 3年龄24Button
可展开

使用 #expand 模板实现可展开,允许接收 itemindexcolumn 三个值。附加可实现:嵌套子表格。

expand code expand code
import { Component } from '@angular/core';
 import { STColumn, STData } from '@delon/abc/st';
 
 @Component({
@@ -691,7 +691,7 @@
       ],
     },
   ];
-}
编号姓名年龄自定义
编号1姓名name 1年龄24自定义tooltip: 24-0
编号2姓名name 2年龄23自定义tooltip: 23-1
编号3姓名name 3年龄22自定义tooltip: 22-2
自定义列

创建一个带有 st-row="custom-name"ng-template,并在列描述 render: 'custom-name' 指定名称;模板允许接收 itemindexcolumn 三个值。

如果指定 type="title" 表示是对标题自定义列。附加可实现:表头分组。

expand code expand code
import { Component } from '@angular/core';
+}
编号姓名年龄自定义
编号1姓名name 1年龄26自定义tooltip: 26-0
编号2姓名name 2年龄26自定义tooltip: 26-1
编号3姓名name 3年龄21自定义tooltip: 21-2
自定义列

创建一个带有 st-row="custom-name"ng-template,并在列描述 render: 'custom-name' 指定名称;模板允许接收 itemindexcolumn 三个值。

如果指定 type="title" 表示是对标题自定义列。附加可实现:表头分组。

expand code expand code
import { Component } from '@angular/core';
 import { STColumn, STData } from '@delon/abc/st';
 
 @Component({
@@ -754,7 +754,7 @@
   isChoose(key: string): boolean {
     return !!this.customColumns.find(w => w.value === key && w.checked);
   }
-}
序号编号姓名年龄操作区
序号1编号1姓名name 1年龄23操作区EditDrawer更多
序号2编号2姓名name 2年龄23操作区EditDrawer更多
序号3编号3姓名name 3年龄29操作区EditDrawer更多
自定义按钮组

透过简单的配置产生一组日常按钮组(目标组件示例:DemoModalComponentDemoDrawerComponent)。

对话框由ModalHelper处理,抽屉由DrawerHelper处理。

expand code expand code
import { Component, ViewChild } from '@angular/core';
+}
序号编号姓名年龄操作区
序号1编号1姓名name 1年龄22操作区EditDrawer更多
序号2编号2姓名name 2年龄24操作区EditDrawer更多
序号3编号3姓名name 3年龄25操作区EditDrawer更多
自定义按钮组

透过简单的配置产生一组日常按钮组(目标组件示例:DemoModalComponentDemoDrawerComponent)。

对话框由ModalHelper处理,抽屉由DrawerHelper处理。

expand code expand code
import { Component, ViewChild } from '@angular/core';
 
 import { DemoDrawerComponent, DemoModalComponent } from '@shared';
 
@@ -859,7 +859,7 @@
   change(e: STChange): void {
     console.log(e);
   }
-}
编号自定义头像邮箱
编号1自定义头像邮箱aaa7@qq.com
编号2自定义头像邮箱aaa4@qq.com
编号3自定义头像邮箱aaa3@qq.com
自定义小部件

类型为 widget 自定义小部件,例如点击头像处理,查看源代码

expand code expand code
import { Component, ViewChild } from '@angular/core';
+}
编号自定义头像邮箱
编号1自定义头像邮箱aaa10@qq.com
编号2自定义头像邮箱aaa10@qq.com
编号3自定义头像邮箱aaa7@qq.com
自定义小部件

类型为 widget 自定义小部件,例如点击头像处理,查看源代码

expand code expand code
import { Component, ViewChild } from '@angular/core';
 import { STColumn, STComponent } from '@delon/abc/st';
 
 @Component({
@@ -895,7 +895,7 @@
       { refreshSchema: true, emitReload: false },
     );
   }
-}
编号头像邮箱firstlast
编号1头像邮箱aaa7@qq.comfirstfirst-12lastlast-7
编号2头像邮箱aaa8@qq.com
编号3头像邮箱aaa2@qq.comfirstfirst-12lastlast-6
编号4头像邮箱aaa3@qq.comfirstfirst-17lastlast-6
编号5头像邮箱aaa9@qq.comlastlast-10
  • 共 2 条
  • 1
表格行/列合并

表格支持行/列合并,使用 onCell 进行设置,若返回 colSpan 或者 rowSpan 设值为 0 时,设置的表格不会渲染。

expand code expand code
import { Component } from '@angular/core';
+}
编号头像邮箱firstlast
编号1头像邮箱aaa5@qq.comfirstfirst-14lastlast-7
编号2头像邮箱aaa2@qq.com
编号3头像邮箱aaa2@qq.comfirstfirst-11lastlast-7
编号4头像邮箱aaa2@qq.comfirstfirst-15lastlast-8
编号5头像邮箱aaa1@qq.comlastlast-9
  • 共 2 条
  • 1
表格行/列合并

表格支持行/列合并,使用 onCell 进行设置,若返回 colSpan 或者 rowSpan 设值为 0 时,设置的表格不会渲染。

expand code expand code
import { Component } from '@angular/core';
 
 import { STColumn, STData, STOnCellResult } from '@delon/abc/st';
 
@@ -950,7 +950,7 @@
     },
     { title: 'last', index: 'name.last', onCell: sharedOnCell }
   ];
-}
编号1编号2编号3编号4编号5编号6编号7编号8编号8编号8编号8编号8姓名10姓名11年龄12
编号11编号21编号31编号41编号51编号61编号71编号81编号81编号81编号81编号81姓名10name 1姓名11name 1年龄1225
编号12编号22编号32编号42编号52编号62编号72编号82编号82编号82编号82编号82姓名10name 2姓名11name 2年龄1229
编号13编号23编号33编号43编号53编号63编号73编号83编号83编号83编号83编号83姓名10name 3姓名11name 3年龄1226
固定列

对于列数很多的数据,可以使用 leftright 固定前后的列,横向滚动查看其它数据,需要和 scroll.x 配合使用。

固定列使用了 sticky 属性,浏览器支持情况可以参考这里

  • 若列头与内容不对齐或出现列重复,请指定列的宽度 width

  • 建议指定 scroll.x 为大于表格宽度的固定值或百分比。注意,且非固定列宽度之和不要超过 scroll.x

expand code expand code
import { Component } from '@angular/core';
+}
编号1编号2编号3编号4编号5编号6编号7编号8编号8编号8编号8编号8姓名10姓名11年龄12
编号11编号21编号31编号41编号51编号61编号71编号81编号81编号81编号81编号81姓名10name 1姓名11name 1年龄1222
编号12编号22编号32编号42编号52编号62编号72编号82编号82编号82编号82编号82姓名10name 2姓名11name 2年龄1225
编号13编号23编号33编号43编号53编号63编号73编号83编号83编号83编号83编号83姓名10name 3姓名11name 3年龄1228
固定列

对于列数很多的数据,可以使用 leftright 固定前后的列,横向滚动查看其它数据,需要和 scroll.x 配合使用。

固定列使用了 sticky 属性,浏览器支持情况可以参考这里

  • 若列头与内容不对齐或出现列重复,请指定列的宽度 width

  • 建议指定 scroll.x 为大于表格宽度的固定值或百分比。注意,且非固定列宽度之和不要超过 scroll.x

expand code expand code
import { Component } from '@angular/core';
 import { STColumn, STData } from '@delon/abc/st';
 
 @Component({
@@ -984,7 +984,7 @@
     { title: '姓名11', index: 'name', fixed: 'right', width: 100 },
     { title: '年龄12', index: 'age', fixed: 'right', width: 100 },
   ];
-}
编号Other
头像邮箱姓名
firstlast
编号1头像邮箱aaa1@qq.comfirstfirst-16lastlast-1
编号2头像邮箱aaa6@qq.comfirstfirst-20lastlast-5
编号3头像邮箱aaa1@qq.comfirstfirst-17lastlast-1
  • 共 2 条
  • 1
表头分组

columns[n] 可以内嵌 children,以渲染分组表头。

expand code expand code
import { Component } from '@angular/core';
+}
编号Other
头像邮箱姓名
firstlast
编号1头像邮箱aaa7@qq.comfirstfirst-15lastlast-4
编号2头像邮箱aaa1@qq.comfirstfirst-18lastlast-4
编号3头像邮箱aaa5@qq.comfirstfirst-11lastlast-9
  • 共 2 条
  • 1
表头分组

columns[n] 可以内嵌 children,以渲染分组表头。

expand code expand code
import { Component } from '@angular/core';
 import { STColumn } from '@delon/abc/st';
 
 @Component({
@@ -1012,7 +1012,7 @@
       ],
     },
   ];
-}
The header
编号头像邮箱电话注册时间
编号1头像邮箱aaa9@qq.com电话phone-91249注册时间2023-12-08 13:02
编号2头像邮箱aaa6@qq.com电话phone-60484注册时间2023-12-08 13:02
编号3头像邮箱aaa2@qq.com电话phone-40418注册时间2023-12-08 13:02
The footer
响应式

小屏幕下将以响应模式堆叠显示,responsiveHideHeaderFooter 属性可以使大屏幕不显示头和尾,反之。

expand code expand code
import { Component } from '@angular/core';
+}
The header
编号头像邮箱电话注册时间
编号1头像邮箱aaa2@qq.com电话phone-98975注册时间2023-12-08 13:38
编号2头像邮箱aaa2@qq.com电话phone-74121注册时间2023-12-08 13:38
编号3头像邮箱aaa4@qq.com电话phone-94063注册时间2023-12-08 13:38
The footer
响应式

小屏幕下将以响应模式堆叠显示,responsiveHideHeaderFooter 属性可以使大屏幕不显示头和尾,反之。

expand code expand code
import { Component } from '@angular/core';
 import { STColumn } from '@delon/abc/st';
 
 @Component({
@@ -1037,7 +1037,7 @@
     { title: '电话', index: 'phone' },
     { title: '注册时间', type: 'date', index: 'registered' },
   ];
-}
行号编号性别SumAverageMinMaxCustom
行号1编号1性别Sum58Average58Min58Max58Custom58
行号2编号2性别Sum10Average10Min10Max10Custom10
行号3编号3性别Sum3Average3Min3Max3Custom3
合计3 个17123.6735858
性别平均值23.67
统计

支持 countdistinctCountsumaveragemaxmin、自定义统计方法。

expand code expand code
import { Component } from '@angular/core';
+}
行号编号性别SumAverageMinMaxCustom
行号1编号1性别Sum49Average49Min49Max49Custom49
行号2编号2性别Sum32Average32Min32Max32Custom32
行号3编号3性别Sum38Average38Min38Max38Custom38
合计3 个211939.67324949
性别平均值39.67
统计

支持 countdistinctCountsumaveragemaxmin、自定义统计方法。

expand code expand code
import { Component } from '@angular/core';
 import { STColumn, STData } from '@delon/abc/st';
 
 @Component({
@@ -1140,7 +1140,7 @@
       console.log('scroll index to', data);
     });
   }
-}
编号头像邮箱电话数字货币注册时间
编号1头像邮箱e1@qq.com电话phone - 1数字18,161,801货币18,161,801注册时间2023-12-08 13:02
编号2头像邮箱e2@qq.com电话phone - 2数字12,336,506货币12,336,506注册时间2023-12-08 13:02
编号3头像邮箱e3@qq.com电话phone - 3数字17,161,518货币17,161,518注册时间2023-12-08 13:02
导出Excel

将表格数据保存为 Excel。

expand code expand code
import { Component, ViewChild } from '@angular/core';
+}
编号头像邮箱电话数字货币注册时间
编号1头像邮箱e1@qq.com电话phone - 1数字12,604,222货币12,604,222注册时间2023-12-08 13:38
编号2头像邮箱e2@qq.com电话phone - 2数字13,695,543货币13,695,543注册时间2023-12-08 13:38
编号3头像邮箱e3@qq.com电话phone - 3数字16,190,246货币16,190,246注册时间2023-12-08 13:38
导出Excel

将表格数据保存为 Excel。

expand code expand code
import { Component, ViewChild } from '@angular/core';
 import { STColumn, STComponent, STData } from '@delon/abc/st';
 
 @Component({
@@ -1188,7 +1188,7 @@
     { title: '货币', index: 'price', type: 'currency' },
     { title: '注册时间', type: 'date', index: 'registered' },
   ];
-}
编号头像邮箱电话佣金注册时间
编号1头像邮箱aaa7@qq.com电话phone-14247佣金3,513,322注册时间2023-12-08 13:02
编号2头像邮箱aaa2@qq.com电话phone-85139佣金453,747注册时间2023-12-08 13:02
编号3头像邮箱aaa5@qq.com电话phone-37192佣金1,673,177注册时间2023-12-08 13:02
  • 共 2 条
  • 1
调整尺寸

基于 nz-resizable 调整表头宽度。

  • 注意:不要忘记在 src/styles 下导入 nz-resizable Less 样式文件(@import 'ng-zorro-antd/resizable/style/entry.less';

  • 不支持多表头

expand code expand code
import { Component } from '@angular/core';
+}
编号头像邮箱电话佣金注册时间
编号1头像邮箱aaa4@qq.com电话phone-9035佣金8,672,858注册时间2023-12-08 13:38
编号2头像邮箱aaa8@qq.com电话phone-8613佣金3,442,587注册时间2023-12-08 13:38
编号3头像邮箱aaa9@qq.com电话phone-91912佣金4,708,700注册时间2023-12-08 13:38
  • 共 2 条
  • 1
调整尺寸

基于 nz-resizable 调整表头宽度。

  • 注意:不要忘记在 src/styles 下导入 nz-resizable Less 样式文件(@import 'ng-zorro-antd/resizable/style/entry.less';

  • 不支持多表头

expand code expand code
import { Component } from '@angular/core';
 import { STChange, STColumn } from '@delon/abc/st';
 
 @Component({
diff --git a/components/st/zh/index.html b/components/st/zh/index.html
index 183ebd504..5e839ee63 100644
--- a/components/st/zh/index.html
+++ b/components/st/zh/index.html
@@ -1,4 +1,4 @@
-st - NG-ALAIN

表格
IMPORT MODULE

st 并不是在创造另一个表格组件,而是在 nz-table 基础上以可配置形式渲染表格,在中后台里这种方式可以满足绝大多数场景,但又可以更易地管理表格渲染动作。

关于数据源

data 支持三种不同格式数据源,整体分为:URL和静态数据两类;但可以透过参数的配置达到不同的效果,同时有非常多参数可通过 AlainSTConfig 重置默认值,使整个 st 组件模板达到极简。

URL

指的是通过一个 URL 字符串来获取数据。

  • 通过 req.paramsreq.method 等参数解决请求数据格式问题

  • 通过 res.reName 重置数据 key 而无须担心后端数据格式是否满足 st 需求

  • 通过 res.process 可以对表格渲染前对数据进一步优化

  • 通过 page.zeroIndexed 可以调整 http 请求时 pi 参数是否遵循 0 基索引,默认情况下为 1 基索引

  • 若返回体的值是数组类型,则强制不分页

  • 使用 _HttpClient 发起请求,因此满足 AlainThemeConfig 的配置也适用

静态数据

指的是通过指定值为 STData[]Observable<STData[]>,二者都遵循以下规则:

  • page.front 前端分页,默认:true

    • truest 根据 data 长度受控分页,包括:排序、过滤等

    • false 由用户通过 totaldata 参数受控分页,并维护 (change) 当分页变更时重新加载数据

  • page.show 是否显示分页器;当未指定时若 ps>total 情况下自动不显示

常见问题

Cannot read property 'text' of undefined

若组件已经加载完毕,此时如果再次改变 columns 时可能会出现该错误,这是因为 st 每次只会根据 columns 对数据处理,当列定义发生改变后可能会因为列定义与现有数据无法配对,可能需要使用 this.st.resetColumns({ columns: [], emitReload: true }) 来更新列定义并重新加载数据。

某列显示INVALID DATA

当在解析列数据时抛出异常时,会强制显示 INVALID DATA,例如当某指定 type: 'number' 时,而实际获得值为非有效数字型时就会抛出异常。

代码演示

编号头像邮箱电话佣金(单位:元)注册时间
编号1头像邮箱aaa2@qq.com电话phone-65180佣金(单位:元)3,934,715注册时间2023-12-08 13:02
编号2头像邮箱aaa7@qq.com电话phone-29322佣金(单位:元)961,524注册时间2023-12-08 13:02
编号3头像邮箱aaa5@qq.com电话phone-58447佣金(单位:元)2,514,870注册时间2023-12-08 13:02
  • 共 2 条
  • 1
基本

快速生成表格;利用 res 可以适配后端数据格式。

expand code expand code
import { Component, ViewChild } from '@angular/core';
+st - NG-ALAIN

表格
IMPORT MODULE

st 并不是在创造另一个表格组件,而是在 nz-table 基础上以可配置形式渲染表格,在中后台里这种方式可以满足绝大多数场景,但又可以更易地管理表格渲染动作。

关于数据源

data 支持三种不同格式数据源,整体分为:URL和静态数据两类;但可以透过参数的配置达到不同的效果,同时有非常多参数可通过 AlainSTConfig 重置默认值,使整个 st 组件模板达到极简。

URL

指的是通过一个 URL 字符串来获取数据。

  • 通过 req.paramsreq.method 等参数解决请求数据格式问题

  • 通过 res.reName 重置数据 key 而无须担心后端数据格式是否满足 st 需求

  • 通过 res.process 可以对表格渲染前对数据进一步优化

  • 通过 page.zeroIndexed 可以调整 http 请求时 pi 参数是否遵循 0 基索引,默认情况下为 1 基索引

  • 若返回体的值是数组类型,则强制不分页

  • 使用 _HttpClient 发起请求,因此满足 AlainThemeConfig 的配置也适用

静态数据

指的是通过指定值为 STData[]Observable<STData[]>,二者都遵循以下规则:

  • page.front 前端分页,默认:true

    • truest 根据 data 长度受控分页,包括:排序、过滤等

    • false 由用户通过 totaldata 参数受控分页,并维护 (change) 当分页变更时重新加载数据

  • page.show 是否显示分页器;当未指定时若 ps>total 情况下自动不显示

常见问题

Cannot read property 'text' of undefined

若组件已经加载完毕,此时如果再次改变 columns 时可能会出现该错误,这是因为 st 每次只会根据 columns 对数据处理,当列定义发生改变后可能会因为列定义与现有数据无法配对,可能需要使用 this.st.resetColumns({ columns: [], emitReload: true }) 来更新列定义并重新加载数据。

某列显示INVALID DATA

当在解析列数据时抛出异常时,会强制显示 INVALID DATA,例如当某指定 type: 'number' 时,而实际获得值为非有效数字型时就会抛出异常。

代码演示

编号头像邮箱电话佣金(单位:元)注册时间
编号1头像邮箱aaa3@qq.com电话phone-70552佣金(单位:元)3,674,624注册时间2023-12-08 13:38
编号2头像邮箱aaa3@qq.com电话phone-8054佣金(单位:元)2,120,390注册时间2023-12-08 13:38
编号3头像邮箱aaa2@qq.com电话phone-12148佣金(单位:元)9,010,437注册时间2023-12-08 13:38
  • 共 2 条
  • 1
基本

快速生成表格;利用 res 可以适配后端数据格式。

expand code expand code
import { Component, ViewChild } from '@angular/core';
 
 import { STColumn, STComponent } from '@delon/abc/st';
 
@@ -46,7 +46,7 @@
   setRow(): void {
     this.st.setRow(0, { price: 100000000 });
   }
-}
姓名年龄状态DateCustom
编号姓名name 1年龄26状态ErrorDate2023-12-08 13:02Customname 1
编号姓名name 2年龄27状态DefaultDate2023-12-08 13:02Customname 2
编号姓名name 3年龄26状态ProcessingDate2023-12-08 13:02Customname 3
自定义数据

data 属性支持 STData[]Observable 数据类型。

expand code expand code
import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';
+}
姓名年龄状态DateCustom
编号姓名name 1年龄29状态ProcessingDate2023-12-08 13:38Customname 1
编号姓名name 2年龄28状态ErrorDate2023-12-08 13:38Customname 2
编号姓名name 3年龄28状态ProcessingDate2023-12-08 13:38Customname 3
自定义数据

data 属性支持 STData[]Observable 数据类型。

expand code expand code
import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';
 import { of, delay } from 'rxjs';
 
 import { STChange, STColumn, STColumnFilter, STColumnFilterHandle, STData } from '@delon/abc/st';
@@ -197,7 +197,7 @@
   change(e: STChange): void {
     console.log(e);
   }
-}
行号姓名年龄HTMLTexttagbadgeEnumyn
行号1姓名name 1年龄29HTML1 OtherText<strong>1</strong> Othertag警告badge成功Enumyn
行号2姓名name 2年龄15HTML2 OtherText<strong>2</strong> Othertag默认badge警告Enumyn
行号3姓名name 3年龄11HTML3 OtherText<strong>3</strong> Othertag警告badge成功Enumyn
列类型

支持十种不同列类型:行号、多选、单选、徽标、标签、图片、数字、货币、日期、布尔徽章、枚举。也可以使用自定义列完成更复杂渲染。

expand code expand code
import { Component } from '@angular/core';
+}
行号姓名年龄HTMLTexttagbadgeEnumyn
行号1姓名name 1年龄25HTML1 OtherText<strong>1</strong> Othertag成功badge警告Enumyn
行号2姓名name 2年龄35HTML2 OtherText<strong>2</strong> Othertag错误badge默认Enumyn
行号3姓名name 3年龄40HTML3 OtherText<strong>3</strong> Othertag警告badge警告Enumyn
列类型

支持十种不同列类型:行号、多选、单选、徽标、标签、图片、数字、货币、日期、布尔徽章、枚举。也可以使用自定义列完成更复杂渲染。

expand code expand code
import { Component } from '@angular/core';
 
 import { STColumn, STColumnBadge, STColumnTag, STData } from '@delon/abc/st';
 
@@ -256,7 +256,7 @@
   constructor() {
     this.reload();
   }
-}
编号类型头像邮箱电话佣金人民币写法Site可用注册时间
编号1类型会员头像邮箱aaa6@qq.com电话****637佣金7,578,346人民币写法伍佰贰拾壹万零玖佰肆拾捌元整Sitehttps://1841395.com/可用注册时间2023-12-08 13:02:36
编号2类型普通头像邮箱aaa2@qq.com电话****6949佣金3,575,299人民币写法捌佰柒拾陆万玖仟陆佰壹拾壹元整Sitehttps://9135108.com/可用注册时间2023-12-08 13:02:36
编号3类型会员头像邮箱aaa3@qq.com电话****5010佣金7,066,661人民币写法叁佰玖拾壹万贰仟肆佰捌拾捌元整Sitehttps://6373297.com/可用注册时间2023-12-08 13:02:36
  • 共 2 条
  • 1
单元格

使用 cell 组件更丰富的渲染。

expand code expand code
import { Component, ViewChild } from '@angular/core';
+}
编号类型头像邮箱电话佣金人民币写法Site可用注册时间
编号1类型普通头像邮箱aaa4@qq.com电话****7230佣金5,902,439人民币写法叁佰叁拾玖万肆仟壹佰叁拾叁元整Sitehttps://6443821.com/可用注册时间2023-12-08 13:38:05
编号2类型普通头像邮箱aaa6@qq.com电话****4498佣金5,562,859人民币写法壹佰捌拾贰万捌仟叁佰捌拾元整Sitehttps://3807605.com/可用注册时间2023-12-08 13:38:05
编号3类型会员头像邮箱aaa6@qq.com电话****8480佣金1,896,614人民币写法陆佰零捌万伍仟壹佰陆拾陆元整Sitehttps://7527680.com/可用注册时间2023-12-08 13:38:05
  • 共 2 条
  • 1
单元格

使用 cell 组件更丰富的渲染。

expand code expand code
import { Component, ViewChild } from '@angular/core';
 import { STColumn, STComponent } from '@delon/abc/st';
 import type { CellOptions } from '@delon/abc/cell';
 
@@ -312,7 +312,7 @@
   setRow(): void {
     this.st.setRow(0, { price: 100000000 });
   }
-}
头像邮箱电话注册时间
编号头像邮箱aaa2@qq.com电话phone-86672注册时间2023-12-08 13:02
编号头像邮箱aaa7@qq.com电话phone-1952注册时间2023-12-08 13:02
编号头像邮箱aaa8@qq.com电话phone-88060注册时间2023-12-08 13:02
可选择

利用 change 监听所选的数据。

expand code expand code
import { Component } from '@angular/core';
+}
头像邮箱电话注册时间
编号头像邮箱aaa2@qq.com电话phone-4759注册时间2023-12-08 13:38
编号头像邮箱aaa1@qq.com电话phone-46960注册时间2023-12-08 13:38
编号头像邮箱aaa6@qq.com电话phone-94372注册时间2023-12-08 13:38
可选择

利用 change 监听所选的数据。

expand code expand code
import { Component } from '@angular/core';
 
 import { STChange, STColumn, STData } from '@delon/abc/st';
 
@@ -351,7 +351,7 @@
       return i;
     });
   }
-}
编号头像邮箱电话注册时间
编号头像邮箱aaa6@qq.com电话phone-49264注册时间2023-12-08 13:02
编号头像邮箱aaa6@qq.com电话phone-24979注册时间2023-12-08 13:02
编号头像邮箱aaa10@qq.com电话phone-61511注册时间2023-12-08 13:02
单选框

利用 change 监听所选的数据。

expand code expand code
import { Component } from '@angular/core';
+}
编号头像邮箱电话注册时间
编号头像邮箱aaa1@qq.com电话phone-1598注册时间2023-12-08 13:38
编号头像邮箱aaa9@qq.com电话phone-77098注册时间2023-12-08 13:38
编号头像邮箱aaa6@qq.com电话phone-64185注册时间2023-12-08 13:38
单选框

利用 change 监听所选的数据。

expand code expand code
import { Component } from '@angular/core';
 
 import { STChange, STColumn, STData } from '@delon/abc/st';
 
@@ -392,7 +392,7 @@
       return i;
     });
   }
-}
编号邮箱电话注册时间
编号1邮箱aaa3@qq.com电话phone-62601注册时间2023-12-08 13:02
编号2邮箱aaa9@qq.com电话phone-22046注册时间2023-12-08 13:02
编号3邮箱aaa6@qq.com电话phone-39498注册时间2023-12-08 13:02
  • 共 2 条
  • 1
右键菜单

利用 contextmenu 实现点击整个表格右键菜单。

expand code expand code
import { Component } from '@angular/core';
+}
编号邮箱电话注册时间
编号1邮箱aaa3@qq.com电话phone-38273注册时间2023-12-08 13:38
编号2邮箱aaa7@qq.com电话phone-94248注册时间2023-12-08 13:38
编号3邮箱aaa6@qq.com电话phone-37079注册时间2023-12-08 13:38
  • 共 2 条
  • 1
右键菜单

利用 contextmenu 实现点击整个表格右键菜单。

expand code expand code
import { Component } from '@angular/core';
 import { STColumn, STContextmenuFn, STContextmenuItem, STContextmenuOptions } from '@delon/abc/st';
 import { NzMessageService } from 'ng-zorro-antd/message';
 
@@ -462,7 +462,7 @@
       },
     ];
   };
-}
编号姓名年龄启用OP
编号1姓名name 1年龄27启用YOPEdit
编号2姓名name 2年龄29启用NOPEdit
编号3姓名name 3年龄22启用YOPEdit
可编辑行

定制带行编辑功能的表格,自由操作行内容。

expand code expand code
import { Component, ViewChild } from '@angular/core';
+}
编号姓名年龄启用OP
编号1姓名name 1年龄26启用YOPEdit
编号2姓名name 2年龄30启用NOPEdit
编号3姓名name 3年龄22启用YOPEdit
可编辑行

定制带行编辑功能的表格,自由操作行内容。

expand code expand code
import { Component, ViewChild } from '@angular/core';
 import { STColumn, STComponent, STData } from '@delon/abc/st';
 import { NzMessageService } from 'ng-zorro-antd/message';
 
@@ -545,7 +545,7 @@
   private updateEdit(i: STData, edit: boolean): void {
     this.st.setRow(i, { edit }, { refreshSchema: true });
   }
-}
编号头像邮箱电话注册时间
编号1头像邮箱aaa4@qq.com电话phone-76303注册时间2023-12-08 13:02
编号2头像邮箱aaa1@qq.com电话phone-36390注册时间2023-12-08 13:02
编号3头像邮箱aaa10@qq.com电话phone-84666注册时间2023-12-08 13:02
搜索表单

配合 load() & reset() 实现搜索表单。

expand code expand code
import { Component } from '@angular/core';
+}
编号头像邮箱电话注册时间
编号1头像邮箱aaa10@qq.com电话phone-87123注册时间2023-12-08 13:38
编号2头像邮箱aaa3@qq.com电话phone-55590注册时间2023-12-08 13:38
编号3头像邮箱aaa8@qq.com电话phone-8994注册时间2023-12-08 13:38
搜索表单

配合 load() & reset() 实现搜索表单。

expand code expand code
import { Component } from '@angular/core';
 import { STColumn } from '@delon/abc/st';
 
 @Component({
@@ -569,7 +569,7 @@
     { title: '电话', index: 'phone' },
     { title: '注册时间', type: 'date', index: 'registered' },
   ];
-}
编号邮箱电话
编号1邮箱aaa10@qq.com电话phone-49666
编号2邮箱aaa6@qq.com电话phone-37629
编号3邮箱aaa9@qq.com电话phone-89341
行操作

利用 addRowremoveRowsetRow 方法对行的操作。

打开控制面板了解打印明细。

expand code expand code
import { Component } from '@angular/core';
+}
编号邮箱电话
编号1邮箱aaa9@qq.com电话phone-49961
编号2邮箱aaa10@qq.com电话phone-28965
编号3邮箱aaa8@qq.com电话phone-43447
行操作

利用 addRowremoveRowsetRow 方法对行的操作。

打开控制面板了解打印明细。

expand code expand code
import { Component } from '@angular/core';
 
 import { STChange, STClickRowClassNameType, STColumn } from '@delon/abc/st';
 
@@ -600,7 +600,7 @@
   _click(e: STChange): void {
     console.log('click', e);
   }
-}
编号头像姓名国家性别注册时间
编号1头像姓名1: last-6 first-17国家CH性别male注册时间2023-12-08 13:02
编号2头像姓名2: last-1 first-15国家US性别female注册时间2023-12-08 13:02
编号3头像姓名3: last-8 first-17国家DE性别male注册时间2023-12-08 13:02
后端筛选和排序

利用 multiSort 支持多字段排序。

expand code expand code
import { Component } from '@angular/core';
+}
编号头像姓名国家性别注册时间
编号1头像姓名1: last-9 first-17国家CH性别male注册时间2023-12-08 13:38
编号2头像姓名2: last-9 first-19国家US性别female注册时间2023-12-08 13:38
编号3头像姓名3: last-10 first-19国家DE性别male注册时间2023-12-08 13:38
后端筛选和排序

利用 multiSort 支持多字段排序。

expand code expand code
import { Component } from '@angular/core';
 import { STColumn, STData } from '@delon/abc/st';
 
 interface UserData extends STData {
@@ -655,7 +655,7 @@
     },
     { title: '注册时间', type: 'date', index: 'registered' },
   ];
-}
编号姓名年龄
编号1姓名name 1年龄22Button
编号2姓名name 2年龄26Button
编号3姓名name 3年龄21Button
可展开

使用 #expand 模板实现可展开,允许接收 itemindexcolumn 三个值。附加可实现:嵌套子表格。

expand code expand code
import { Component } from '@angular/core';
+}
编号姓名年龄
编号1姓名name 1年龄21Button
编号2姓名name 2年龄24Button
编号3姓名name 3年龄21Button
可展开

使用 #expand 模板实现可展开,允许接收 itemindexcolumn 三个值。附加可实现:嵌套子表格。

expand code expand code
import { Component } from '@angular/core';
 import { STColumn, STData } from '@delon/abc/st';
 
 @Component({
@@ -691,7 +691,7 @@
       ],
     },
   ];
-}
编号姓名年龄自定义
编号1姓名name 1年龄22自定义tooltip: 22-0
编号2姓名name 2年龄22自定义tooltip: 22-1
编号3姓名name 3年龄27自定义tooltip: 27-2
自定义列

创建一个带有 st-row="custom-name"ng-template,并在列描述 render: 'custom-name' 指定名称;模板允许接收 itemindexcolumn 三个值。

如果指定 type="title" 表示是对标题自定义列。附加可实现:表头分组。

expand code expand code
import { Component } from '@angular/core';
+}
编号姓名年龄自定义
编号1姓名name 1年龄30自定义tooltip: 30-0
编号2姓名name 2年龄21自定义tooltip: 21-1
编号3姓名name 3年龄26自定义tooltip: 26-2
自定义列

创建一个带有 st-row="custom-name"ng-template,并在列描述 render: 'custom-name' 指定名称;模板允许接收 itemindexcolumn 三个值。

如果指定 type="title" 表示是对标题自定义列。附加可实现:表头分组。

expand code expand code
import { Component } from '@angular/core';
 import { STColumn, STData } from '@delon/abc/st';
 
 @Component({
@@ -754,7 +754,7 @@
   isChoose(key: string): boolean {
     return !!this.customColumns.find(w => w.value === key && w.checked);
   }
-}
序号编号姓名年龄操作区
序号1编号1姓名name 1年龄30操作区EditDrawer更多
序号2编号2姓名name 2年龄22操作区EditDrawer更多
序号3编号3姓名name 3年龄28操作区EditDrawer更多
自定义按钮组

透过简单的配置产生一组日常按钮组(目标组件示例:DemoModalComponentDemoDrawerComponent)。

对话框由ModalHelper处理,抽屉由DrawerHelper处理。

expand code expand code
import { Component, ViewChild } from '@angular/core';
+}
序号编号姓名年龄操作区
序号1编号1姓名name 1年龄25操作区EditDrawer更多
序号2编号2姓名name 2年龄23操作区EditDrawer更多
序号3编号3姓名name 3年龄29操作区EditDrawer更多
自定义按钮组

透过简单的配置产生一组日常按钮组(目标组件示例:DemoModalComponentDemoDrawerComponent)。

对话框由ModalHelper处理,抽屉由DrawerHelper处理。

expand code expand code
import { Component, ViewChild } from '@angular/core';
 
 import { DemoDrawerComponent, DemoModalComponent } from '@shared';
 
@@ -859,7 +859,7 @@
   change(e: STChange): void {
     console.log(e);
   }
-}
编号自定义头像邮箱
编号1自定义头像邮箱aaa4@qq.com
编号2自定义头像邮箱aaa3@qq.com
编号3自定义头像邮箱aaa9@qq.com
自定义小部件

类型为 widget 自定义小部件,例如点击头像处理,查看源代码

expand code expand code
import { Component, ViewChild } from '@angular/core';
+}
编号自定义头像邮箱
编号1自定义头像邮箱aaa1@qq.com
编号2自定义头像邮箱aaa9@qq.com
编号3自定义头像邮箱aaa4@qq.com
自定义小部件

类型为 widget 自定义小部件,例如点击头像处理,查看源代码

expand code expand code
import { Component, ViewChild } from '@angular/core';
 import { STColumn, STComponent } from '@delon/abc/st';
 
 @Component({
@@ -895,7 +895,7 @@
       { refreshSchema: true, emitReload: false },
     );
   }
-}
编号头像邮箱firstlast
编号1头像邮箱aaa10@qq.comfirstfirst-17lastlast-3
编号2头像邮箱aaa3@qq.com
编号3头像邮箱aaa5@qq.comfirstfirst-18lastlast-7
编号4头像邮箱aaa2@qq.comfirstfirst-16lastlast-1
编号5头像邮箱aaa1@qq.comlastlast-8
  • 共 2 条
  • 1
表格行/列合并

表格支持行/列合并,使用 onCell 进行设置,若返回 colSpan 或者 rowSpan 设值为 0 时,设置的表格不会渲染。

expand code expand code
import { Component } from '@angular/core';
+}
编号头像邮箱firstlast
编号1头像邮箱aaa5@qq.comfirstfirst-11lastlast-6
编号2头像邮箱aaa8@qq.com
编号3头像邮箱aaa5@qq.comfirstfirst-13lastlast-7
编号4头像邮箱aaa4@qq.comfirstfirst-17lastlast-4
编号5头像邮箱aaa2@qq.comlastlast-3
  • 共 2 条
  • 1
表格行/列合并

表格支持行/列合并,使用 onCell 进行设置,若返回 colSpan 或者 rowSpan 设值为 0 时,设置的表格不会渲染。

expand code expand code
import { Component } from '@angular/core';
 
 import { STColumn, STData, STOnCellResult } from '@delon/abc/st';
 
@@ -950,7 +950,7 @@
     },
     { title: 'last', index: 'name.last', onCell: sharedOnCell }
   ];
-}
编号1编号2编号3编号4编号5编号6编号7编号8编号8编号8编号8编号8姓名10姓名11年龄12
编号11编号21编号31编号41编号51编号61编号71编号81编号81编号81编号81编号81姓名10name 1姓名11name 1年龄1221
编号12编号22编号32编号42编号52编号62编号72编号82编号82编号82编号82编号82姓名10name 2姓名11name 2年龄1229
编号13编号23编号33编号43编号53编号63编号73编号83编号83编号83编号83编号83姓名10name 3姓名11name 3年龄1221
固定列

对于列数很多的数据,可以使用 leftright 固定前后的列,横向滚动查看其它数据,需要和 scroll.x 配合使用。

固定列使用了 sticky 属性,浏览器支持情况可以参考这里

  • 若列头与内容不对齐或出现列重复,请指定列的宽度 width

  • 建议指定 scroll.x 为大于表格宽度的固定值或百分比。注意,且非固定列宽度之和不要超过 scroll.x

expand code expand code
import { Component } from '@angular/core';
+}
编号1编号2编号3编号4编号5编号6编号7编号8编号8编号8编号8编号8姓名10姓名11年龄12
编号11编号21编号31编号41编号51编号61编号71编号81编号81编号81编号81编号81姓名10name 1姓名11name 1年龄1230
编号12编号22编号32编号42编号52编号62编号72编号82编号82编号82编号82编号82姓名10name 2姓名11name 2年龄1225
编号13编号23编号33编号43编号53编号63编号73编号83编号83编号83编号83编号83姓名10name 3姓名11name 3年龄1227
固定列

对于列数很多的数据,可以使用 leftright 固定前后的列,横向滚动查看其它数据,需要和 scroll.x 配合使用。

固定列使用了 sticky 属性,浏览器支持情况可以参考这里

  • 若列头与内容不对齐或出现列重复,请指定列的宽度 width

  • 建议指定 scroll.x 为大于表格宽度的固定值或百分比。注意,且非固定列宽度之和不要超过 scroll.x

expand code expand code
import { Component } from '@angular/core';
 import { STColumn, STData } from '@delon/abc/st';
 
 @Component({
@@ -984,7 +984,7 @@
     { title: '姓名11', index: 'name', fixed: 'right', width: 100 },
     { title: '年龄12', index: 'age', fixed: 'right', width: 100 },
   ];
-}
编号Other
头像邮箱姓名
firstlast
编号1头像邮箱aaa2@qq.comfirstfirst-14lastlast-4
编号2头像邮箱aaa8@qq.comfirstfirst-14lastlast-1
编号3头像邮箱aaa3@qq.comfirstfirst-15lastlast-9
  • 共 2 条
  • 1
表头分组

columns[n] 可以内嵌 children,以渲染分组表头。

expand code expand code
import { Component } from '@angular/core';
+}
编号Other
头像邮箱姓名
firstlast
编号1头像邮箱aaa10@qq.comfirstfirst-16lastlast-3
编号2头像邮箱aaa1@qq.comfirstfirst-19lastlast-1
编号3头像邮箱aaa8@qq.comfirstfirst-15lastlast-5
  • 共 2 条
  • 1
表头分组

columns[n] 可以内嵌 children,以渲染分组表头。

expand code expand code
import { Component } from '@angular/core';
 import { STColumn } from '@delon/abc/st';
 
 @Component({
@@ -1012,7 +1012,7 @@
       ],
     },
   ];
-}
The header
编号头像邮箱电话注册时间
编号1头像邮箱aaa4@qq.com电话phone-68463注册时间2023-12-08 13:02
编号2头像邮箱aaa7@qq.com电话phone-70588注册时间2023-12-08 13:02
编号3头像邮箱aaa3@qq.com电话phone-1900注册时间2023-12-08 13:02
The footer
响应式

小屏幕下将以响应模式堆叠显示,responsiveHideHeaderFooter 属性可以使大屏幕不显示头和尾,反之。

expand code expand code
import { Component } from '@angular/core';
+}
The header
编号头像邮箱电话注册时间
编号1头像邮箱aaa8@qq.com电话phone-8691注册时间2023-12-08 13:38
编号2头像邮箱aaa2@qq.com电话phone-24035注册时间2023-12-08 13:38
编号3头像邮箱aaa7@qq.com电话phone-92304注册时间2023-12-08 13:38
The footer
响应式

小屏幕下将以响应模式堆叠显示,responsiveHideHeaderFooter 属性可以使大屏幕不显示头和尾,反之。

expand code expand code
import { Component } from '@angular/core';
 import { STColumn } from '@delon/abc/st';
 
 @Component({
@@ -1037,7 +1037,7 @@
     { title: '电话', index: 'phone' },
     { title: '注册时间', type: 'date', index: 'registered' },
   ];
-}
行号编号性别SumAverageMinMaxCustom
行号1编号1性别Sum42Average42Min42Max42Custom42
行号2编号2性别Sum6Average6Min6Max6Custom6
行号3编号3性别Sum3Average3Min3Max3Custom3
合计3 个2511734242
性别平均值17
统计

支持 countdistinctCountsumaveragemaxmin、自定义统计方法。

expand code expand code
import { Component } from '@angular/core';
+}
行号编号性别SumAverageMinMaxCustom
行号1编号1性别Sum21Average21Min21Max21Custom21
行号2编号2性别Sum2Average2Min2Max2Custom2
行号3编号3性别Sum62Average62Min62Max62Custom62
合计3 个28528.3326221
性别平均值28.33
统计

支持 countdistinctCountsumaveragemaxmin、自定义统计方法。

expand code expand code
import { Component } from '@angular/core';
 import { STColumn, STData } from '@delon/abc/st';
 
 @Component({
@@ -1140,7 +1140,7 @@
       console.log('scroll index to', data);
     });
   }
-}
编号头像邮箱电话数字货币注册时间
编号1头像邮箱e1@qq.com电话phone - 1数字19,914,972货币19,914,972注册时间2023-12-08 13:02
编号2头像邮箱e2@qq.com电话phone - 2数字16,696,622货币16,696,622注册时间2023-12-08 13:02
编号3头像邮箱e3@qq.com电话phone - 3数字15,424,567货币15,424,567注册时间2023-12-08 13:02
导出Excel

将表格数据保存为 Excel。

expand code expand code
import { Component, ViewChild } from '@angular/core';
+}
编号头像邮箱电话数字货币注册时间
编号1头像邮箱e1@qq.com电话phone - 1数字11,311,753货币11,311,753注册时间2023-12-08 13:38
编号2头像邮箱e2@qq.com电话phone - 2数字18,666,905货币18,666,905注册时间2023-12-08 13:38
编号3头像邮箱e3@qq.com电话phone - 3数字16,141,920货币16,141,920注册时间2023-12-08 13:38
导出Excel

将表格数据保存为 Excel。

expand code expand code
import { Component, ViewChild } from '@angular/core';
 import { STColumn, STComponent, STData } from '@delon/abc/st';
 
 @Component({
@@ -1188,7 +1188,7 @@
     { title: '货币', index: 'price', type: 'currency' },
     { title: '注册时间', type: 'date', index: 'registered' },
   ];
-}
编号头像邮箱电话佣金注册时间
编号1头像邮箱aaa8@qq.com电话phone-25815佣金5,213,240注册时间2023-12-08 13:02
编号2头像邮箱aaa4@qq.com电话phone-68517佣金7,713,401注册时间2023-12-08 13:02
编号3头像邮箱aaa3@qq.com电话phone-55562佣金3,446,961注册时间2023-12-08 13:02
  • 共 2 条
  • 1
调整尺寸

基于 nz-resizable 调整表头宽度。

  • 注意:不要忘记在 src/styles 下导入 nz-resizable Less 样式文件(@import 'ng-zorro-antd/resizable/style/entry.less';

  • 不支持多表头

expand code expand code
import { Component } from '@angular/core';
+}
编号头像邮箱电话佣金注册时间
编号1头像邮箱aaa9@qq.com电话phone-31680佣金8,729,003注册时间2023-12-08 13:38
编号2头像邮箱aaa6@qq.com电话phone-3012佣金6,775,089注册时间2023-12-08 13:38
编号3头像邮箱aaa10@qq.com电话phone-94937佣金4,940,688注册时间2023-12-08 13:38
  • 共 2 条
  • 1
调整尺寸

基于 nz-resizable 调整表头宽度。

  • 注意:不要忘记在 src/styles 下导入 nz-resizable Less 样式文件(@import 'ng-zorro-antd/resizable/style/entry.less';

  • 不支持多表头

expand code expand code
import { Component } from '@angular/core';
 import { STChange, STColumn } from '@delon/abc/st';
 
 @Component({
diff --git a/components/xlsx/en/index.html b/components/xlsx/en/index.html
index 3bf2db6b0..5ada9dcf7 100644
--- a/components/xlsx/en/index.html
+++ b/components/xlsx/en/index.html
@@ -41,7 +41,7 @@
     });
     node.value = '';
   }
-}
姓名年龄
编号姓名name 1年龄24
编号姓名name 2年龄22
编号姓名name 3年龄21
导出

导出Excel并自动弹出保存对话框。

expand code expand code
import { Component } from '@angular/core';
+}
姓名年龄
编号姓名name 1年龄22
编号姓名name 2年龄29
编号姓名name 3年龄30
导出

导出Excel并自动弹出保存对话框。

expand code expand code
import { Component } from '@angular/core';
 
 import { STColumn, STData } from '@delon/abc/st';
 import { XlsxService } from '@delon/abc/xlsx';
diff --git a/components/xlsx/zh/index.html b/components/xlsx/zh/index.html
index 8e40727d2..e4dfabcbe 100644
--- a/components/xlsx/zh/index.html
+++ b/components/xlsx/zh/index.html
@@ -41,7 +41,7 @@
     });
     node.value = '';
   }
-}
姓名年龄
编号姓名name 1年龄25
编号姓名name 2年龄27
编号姓名name 3年龄22
导出

导出Excel并自动弹出保存对话框。

expand code expand code
import { Component } from '@angular/core';
+}
姓名年龄
编号姓名name 1年龄29
编号姓名name 2年龄23
编号姓名name 3年龄26
导出

导出Excel并自动弹出保存对话框。

expand code expand code
import { Component } from '@angular/core';
 
 import { STColumn, STData } from '@delon/abc/st';
 import { XlsxService } from '@delon/abc/xlsx';
diff --git a/dev/home/index.html b/dev/home/index.html
index ae9fb0cbb..b5213e978 100644
--- a/dev/home/index.html
+++ b/dev/home/index.html
@@ -258,7 +258,7 @@ 

主题色

设置

-
+
高 diff --git a/dev/l1/index.html b/dev/l1/index.html index 723e851c1..c7146d43e 100644 --- a/dev/l1/index.html +++ b/dev/l1/index.html @@ -166,7 +166,7 @@
-

first: "2023-12-08 13:04:18",now: "2023-12-08 13:04:18"

+

first: "2023-12-08 13:39:47",now: "2023-12-08 13:39:47"

id: null

page: { "closed": false, diff --git a/dev/l2/index.html b/dev/l2/index.html index 872f79027..fd7f65fc9 100644 --- a/dev/l2/index.html +++ b/dev/l2/index.html @@ -166,7 +166,7 @@
-

first: "2023-12-08 13:04:18",now: "2023-12-08 13:04:18"

+

first: "2023-12-08 13:39:47",now: "2023-12-08 13:39:47"

id: null

page: { "closed": false, @@ -252,7 +252,7 @@

主题色

设置

-
+
高 diff --git a/dev/l3/index.html b/dev/l3/index.html index 745ab5f7a..044e9d3cd 100644 --- a/dev/l3/index.html +++ b/dev/l3/index.html @@ -166,7 +166,7 @@
-

first: "2023-12-08 13:04:18",now: "2023-12-08 13:04:18"

+

first: "2023-12-08 13:39:47",now: "2023-12-08 13:39:47"

id: null

page: { "closed": false, @@ -252,7 +252,7 @@

主题色

设置

-
+
高 diff --git a/dev/l4/index.html b/dev/l4/index.html index 432f82fb4..00ab8ff87 100644 --- a/dev/l4/index.html +++ b/dev/l4/index.html @@ -166,7 +166,7 @@
-

first: "2023-12-08 13:04:19",now: "2023-12-08 13:04:19"

+

first: "2023-12-08 13:39:49",now: "2023-12-08 13:39:49"

id: null

page: { "closed": false, diff --git a/dev/l5/index.html b/dev/l5/index.html index 510c1318e..c69f46c5d 100644 --- a/dev/l5/index.html +++ b/dev/l5/index.html @@ -166,7 +166,7 @@
-

first: "2023-12-08 13:04:19",now: "2023-12-08 13:04:19"

+

first: "2023-12-08 13:39:49",now: "2023-12-08 13:39:49"

id: null

page: { "closed": false, @@ -252,7 +252,7 @@

主题色

设置

-
+
高 diff --git a/dev/l6/index.html b/dev/l6/index.html index 47c569043..b245fab55 100644 --- a/dev/l6/index.html +++ b/dev/l6/index.html @@ -166,7 +166,7 @@
-

first: "2023-12-08 13:04:19",now: "2023-12-08 13:04:19"

+

first: "2023-12-08 13:39:49",now: "2023-12-08 13:39:49"

id: null

page: { "closed": false, @@ -252,7 +252,7 @@

主题色

设置

-
+
高 diff --git a/dev/l7/index.html b/dev/l7/index.html index 2b17b41e7..224ad7e3f 100644 --- a/dev/l7/index.html +++ b/dev/l7/index.html @@ -166,7 +166,7 @@
-

first: "2023-12-08 13:04:20",now: "2023-12-08 13:04:20"

+

first: "2023-12-08 13:39:49",now: "2023-12-08 13:39:49"

id: null

page: { "closed": false, diff --git a/dev/l8/index.html b/dev/l8/index.html index af25cddbf..10670bb5b 100644 --- a/dev/l8/index.html +++ b/dev/l8/index.html @@ -166,7 +166,7 @@
-

first: "2023-12-08 13:04:20",now: "2023-12-08 13:04:20"

+

first: "2023-12-08 13:39:50",now: "2023-12-08 13:39:50"

id: null

page: { "closed": false, @@ -252,7 +252,7 @@

主题色

设置

-
+
高 diff --git a/dev/lazy/index.html b/dev/lazy/index.html index 01cd98138..2460bbc9d 100644 --- a/dev/lazy/index.html +++ b/dev/lazy/index.html @@ -166,11 +166,11 @@
-

Lazy Module, "2023-12-08 13:04:21"

+

Lazy Module, "2023-12-08 13:39:51"

Lazy child component

-

first: "2023-12-08 13:04:21",now: "2023-12-08 13:04:21"

+

first: "2023-12-08 13:39:51",now: "2023-12-08 13:39:51"

id: null

page: { "closed": false, diff --git a/dev/lazy/p1/index.html b/dev/lazy/p1/index.html index b0405eb6b..ec2e7499b 100644 --- a/dev/lazy/p1/index.html +++ b/dev/lazy/p1/index.html @@ -166,11 +166,11 @@
-

Lazy Module, "2023-12-08 13:04:21"

+

Lazy Module, "2023-12-08 13:39:51"

Lazy child component

-

first: "2023-12-08 13:04:21",now: "2023-12-08 13:04:21"

+

first: "2023-12-08 13:39:51",now: "2023-12-08 13:39:51"

id: null

page: { "closed": false, diff --git a/dev/lazy/p2/index.html b/dev/lazy/p2/index.html index 711e0158b..a174adc4e 100644 --- a/dev/lazy/p2/index.html +++ b/dev/lazy/p2/index.html @@ -166,11 +166,11 @@
-

Lazy Module, "2023-12-08 13:04:22"

+

Lazy Module, "2023-12-08 13:39:52"

Lazy child component

-

first: "2023-12-08 13:04:22",now: "2023-12-08 13:04:22"

+

first: "2023-12-08 13:39:52",now: "2023-12-08 13:39:52"

id: null

page: { "closed": false, @@ -258,7 +258,7 @@

主题色

设置

-
+
高 diff --git a/dev/lazy/p3/index.html b/dev/lazy/p3/index.html index c5a9ffef9..0d6a74ff4 100644 --- a/dev/lazy/p3/index.html +++ b/dev/lazy/p3/index.html @@ -166,11 +166,11 @@
-

Lazy Module, "2023-12-08 13:04:22"

+

Lazy Module, "2023-12-08 13:39:52"

Lazy child component

-

first: "2023-12-08 13:04:22",now: "2023-12-08 13:04:22"

+

first: "2023-12-08 13:39:52",now: "2023-12-08 13:39:52"

id: null

page: { "closed": false, @@ -258,7 +258,7 @@

主题色

设置

-
+
高 diff --git a/dev/lazy/p4/index.html b/dev/lazy/p4/index.html index 7585cfea9..37b7eee63 100644 --- a/dev/lazy/p4/index.html +++ b/dev/lazy/p4/index.html @@ -166,11 +166,11 @@
-

Lazy Module, "2023-12-08 13:04:22"

+

Lazy Module, "2023-12-08 13:39:52"

Lazy child component

-

first: "2023-12-08 13:04:22",now: "2023-12-08 13:04:22"

+

first: "2023-12-08 13:39:52",now: "2023-12-08 13:39:52"

id: null

page: { "closed": false, diff --git a/dev/lazy/p5/index.html b/dev/lazy/p5/index.html index 77b99b9ef..93c53a46d 100644 --- a/dev/lazy/p5/index.html +++ b/dev/lazy/p5/index.html @@ -166,11 +166,11 @@
-

Lazy Module, "2023-12-08 13:04:23"

+

Lazy Module, "2023-12-08 13:39:53"

Lazy child component

-

first: "2023-12-08 13:04:23",now: "2023-12-08 13:04:23"

+

first: "2023-12-08 13:39:53",now: "2023-12-08 13:39:53"

id: null

page: { "closed": false, diff --git a/dev/list/index.html b/dev/list/index.html index ac3f87f6d..57e66ca7b 100644 --- a/dev/list/index.html +++ b/dev/list/index.html @@ -167,12 +167,12 @@

Layout

-

first: "2023-12-08 13:04:23",now: "2023-12-08 13:04:23"

+

first: "2023-12-08 13:39:53",now: "2023-12-08 13:39:53"


List

-

first: "2023-12-08 13:04:23",now: "2023-12-08 13:04:23"

+

first: "2023-12-08 13:39:53",now: "2023-12-08 13:39:53"

id: null

page: { "closed": false, @@ -255,7 +255,7 @@

主题色

设置

-
+
高 diff --git a/dev/list/item/index.html b/dev/list/item/index.html index 18f8cc8af..ec88ca1eb 100644 --- a/dev/list/item/index.html +++ b/dev/list/item/index.html @@ -167,12 +167,12 @@

Layout

-

first: "2023-12-08 13:04:24",now: "2023-12-08 13:04:24"

+

first: "2023-12-08 13:39:54",now: "2023-12-08 13:39:54"


List Item

-

first: "2023-12-08 13:04:24",now: "2023-12-08 13:04:24"

+

first: "2023-12-08 13:39:54",now: "2023-12-08 13:39:54"

id: null

page: { "closed": false, @@ -260,7 +260,7 @@

主题色

设置

-
+
高 diff --git a/dev/login/index.html b/dev/login/index.html index 6271c5a6d..9f2838dd6 100644 --- a/dev/login/index.html +++ b/dev/login/index.html @@ -166,7 +166,7 @@
-

first: "2023-12-08 13:04:21",now: "2023-12-08 13:04:21"

+

first: "2023-12-08 13:39:51",now: "2023-12-08 13:39:51"

id: null

page: { "closed": false, @@ -252,7 +252,7 @@

主题色

设置

-
+
高 diff --git a/ngsw.en.json b/ngsw.en.json index c35131795..835f1d937 100644 --- a/ngsw.en.json +++ b/ngsw.en.json @@ -1 +1 @@ -{"configVersion":1,"timestamp":1702040669347,"index":"/index.html","assetGroups":[{"name":"app","installMode":"prefetch","updateMode":"prefetch","cacheQueryOptions":{"ignoreVary":true},"urls":["/chunk-25EUYNDY.js","/chunk-2PKCKSDQ.js","/chunk-3RDQP3II.js","/chunk-3XXVNPSY.js","/chunk-3ZN2VXY5.js","/chunk-4C5KEUAI.js","/chunk-53JX7EQO.js","/chunk-53WZVWSD.js","/chunk-64EH6ZTC.js","/chunk-BFOBHPUL.js","/chunk-BSZYTUAL.js","/chunk-CYYISHMD.js","/chunk-FBSRXXMD.js","/chunk-FBWYA4P4.js","/chunk-GPS3STYB.js","/chunk-HQNBXND5.js","/chunk-JIFQ6OJY.js","/chunk-K4B6LHIC.js","/chunk-LFL7JQ5T.js","/chunk-LJKXQ2Z5.js","/chunk-LSPFJ4IE.js","/chunk-LUGCOC4B.js","/chunk-MJWBK4BK.js","/chunk-MNMBEUPS.js","/chunk-N2FV3EKB.js","/chunk-N377LN55.js","/chunk-OAR6ASNJ.js","/chunk-PLUYYUV3.js","/chunk-QK7A5NB7.js","/chunk-R5JIDGPC.js","/chunk-RK2DMX55.js","/chunk-SBJGDJ3Y.js","/chunk-U4OOB3MN.js","/chunk-VHN5CB4G.js","/chunk-VJ3Y7OOG.js","/chunk-W2OLRPHT.js","/chunk-WK4VD42U.js","/chunk-WQIGBBDY.js","/chunk-XFEF7HZC.js","/index.html","/main-SNRZPVF2.js","/ngsw-worker.js","/polyfills-3RNCJEXC.js","/safety-worker.js","/scripts-RST73XXA.js","/styles-AHP6OSNO.css","/worker-basic.min.js"],"patterns":["https:\\/\\/gw\\.alipayobjects\\.com\\/.*","https:\\/\\/img\\.alicdn\\.com\\/.*","https:\\/\\/dummyimage\\.com\\/.*"]},{"name":"assets","installMode":"lazy","updateMode":"prefetch","cacheQueryOptions":{"ignoreVary":true},"urls":["/assets/LOGO.ai","/assets/color.less","/assets/demo.docx","/assets/demo.pdf","/assets/demo.pptx","/assets/demo.xlsx","/assets/demo.zip","/assets/donate.png","/assets/highlight.pack.js","/assets/icons/icon-128x128.png","/assets/icons/icon-144x144.png","/assets/icons/icon-152x152.png","/assets/icons/icon-192x192.png","/assets/icons/icon-384x384.png","/assets/icons/icon-512x512.png","/assets/icons/icon-72x72.png","/assets/icons/icon-96x96.png","/assets/img/404.jpg","/assets/img/avatar.jpg","/assets/img/form-input.png","/assets/img/logo-color.png","/assets/img/logo-color.svg","/assets/img/logo-full.svg","/assets/img/logo.png","/assets/img/logo.svg","/assets/img/ng-alain.svg","/assets/img/plnkr.png","/assets/img/zorro.svg","/assets/jszip/jszip.min.js","/assets/logo-color.svg","/assets/logo-full.svg","/assets/logo.svg","/assets/plyr/plyr.css","/assets/plyr/plyr.min.js","/assets/plyr/plyr.svg","/assets/pro.png","/assets/qq-group.png","/assets/qrious/qrious.min.js","/assets/schema/basic.json","/assets/schema/conditional.json","/assets/schema/fixed.json","/assets/schema/onboarding.json","/assets/schema/sort.json","/assets/schema/validation.json","/assets/screenshot/architecture.png","/assets/screenshot/basic.png","/assets/screenshot/bundle-size.png","/assets/screenshot/data.webp","/assets/screenshot/desktop.png","/assets/screenshot/ipad.png","/assets/screenshot/iphone.png","/assets/screenshot/ms.png","/assets/screenshot/pro.png","/assets/screenshot/start.png","/assets/screenshot/yun.png","/assets/style.compact.css","/assets/style.dark.css","/assets/xlsx/cpexcel.js","/assets/xlsx/xlsx.full.min.js"],"patterns":[]}],"dataGroups":[],"hashTable":{"/assets/LOGO.ai":"f0eb50ff534d6596d2e66439066909d965fd74f2","/assets/color.less":"88c6936c164d7a27fbfe3e03000ad8f9952c4119","/assets/demo.docx":"e6cf4a7b4a490811ed5bec39e8cf203824e8703f","/assets/demo.pdf":"05248c1d4a636ee577f515809534ca1c85cd45c2","/assets/demo.pptx":"09fcb13206d59676838c2682a2a9b62f0a11863b","/assets/demo.xlsx":"fbfaf8aa861857adadaf89b28fe31ad3100395ea","/assets/demo.zip":"99584e56a5910ccb3d58d6dbbbf4c341747b9d57","/assets/donate.png":"e00d7905db3e9e5a8365072da22bf4816224a79c","/assets/highlight.pack.js":"d43298ac40a94f15d24baaa1f9d4087a7c1a2146","/assets/icons/icon-128x128.png":"a64acae4187c0ac026f569727d427e510e57bd3c","/assets/icons/icon-144x144.png":"3777651bff501b02af74e14a4a7d97330ed06b51","/assets/icons/icon-152x152.png":"1ce29288030cd2787bca6f9e20a9d9ea543c807d","/assets/icons/icon-192x192.png":"027f8042ef3f22333b7f57463f764c14fb10ddda","/assets/icons/icon-384x384.png":"8c398368508ae5b7e7b0f0b500493cb75e5d1ada","/assets/icons/icon-512x512.png":"a8d39cf76ddcb33fa87d534476b2cdefa733d5fe","/assets/icons/icon-72x72.png":"3771059af6090c411bae02002f2e1d7877c368e9","/assets/icons/icon-96x96.png":"400b8ad0e5b8bf5ac0740b3f480e713b2a3fc0e5","/assets/img/404.jpg":"9604038f6b13cb304a14a13b2fa76d43444b4414","/assets/img/avatar.jpg":"1258f9ead6901ff45abd313a1b4f265749749b58","/assets/img/form-input.png":"75c924b9bd023a5e27e9745936a27caaf20a1537","/assets/img/logo-color.png":"8defcb0c2b47a66d7c1b57f78525e488adc62642","/assets/img/logo-color.svg":"587f7e7d6cacc6eb7222b99c08d3df8abc8edd4e","/assets/img/logo-full.svg":"fed68d999561a3180b925071180d3d4cfd2b8440","/assets/img/logo.png":"7dcbf051ab322ef1bd076940e981bf9abdd5ae78","/assets/img/logo.svg":"a2334b77c19d8dc880bbbd82e9939a0aa8d59573","/assets/img/ng-alain.svg":"fb55683a364df5de725cb98a7c51b2eb21ca4de6","/assets/img/plnkr.png":"dc4da4819d5a9b4ff44f1457f96808a761ab9143","/assets/img/zorro.svg":"82d83c92dff3114bd45e985e3c8e402f37a4beb9","/assets/jszip/jszip.min.js":"c96375d50e72b199aa54de7b9ad908fd5a2dc7bc","/assets/logo-color.svg":"587f7e7d6cacc6eb7222b99c08d3df8abc8edd4e","/assets/logo-full.svg":"fed68d999561a3180b925071180d3d4cfd2b8440","/assets/logo.svg":"a2334b77c19d8dc880bbbd82e9939a0aa8d59573","/assets/plyr/plyr.css":"3e9561fb7a2a70b93bb1014f5d958b123fe61764","/assets/plyr/plyr.min.js":"9b165c0e728a0ac4e2cddc944c9a2c5819ca7342","/assets/plyr/plyr.svg":"bc98e4a347921594352fbae53aaad185c0c7f6b5","/assets/pro.png":"0e8e2bd64766aab6e12f44607ad7e92aec241468","/assets/qq-group.png":"1effddfab735644966df1759c2768f282a3e650e","/assets/qrious/qrious.min.js":"a9271e81e2ac6a692b1c133811afa33f0f3d7dc5","/assets/schema/basic.json":"d3b26817208571cfed1a5dd667875c358b1d7e1f","/assets/schema/conditional.json":"204f15af35cc98d5d692c7265d84d2645a6394f0","/assets/schema/fixed.json":"f4d6c6c66503ec0c817ab89e8538c2be028c7cff","/assets/schema/onboarding.json":"20c6f311cc99ccbf7180afb906e9abf74473786b","/assets/schema/sort.json":"850f554e1a7db144e9ad305b6a3ad79bfb58ca28","/assets/schema/validation.json":"0a5971cb42a49672e0005b88036ef47bc8cebe94","/assets/screenshot/architecture.png":"9e19b12a25deab3280ebf5795597a90af29c4c38","/assets/screenshot/basic.png":"42a70c07d9f35413991972634011459fdb010022","/assets/screenshot/bundle-size.png":"f67a8b0678161abce9afcb694db3c02d3b4b5f73","/assets/screenshot/data.webp":"286aec35bb8a1bc624d8fcfedf1a03bc08098438","/assets/screenshot/desktop.png":"42a70c07d9f35413991972634011459fdb010022","/assets/screenshot/ipad.png":"0fc5d85a81da2057ec68fc9094c0cb5c862bf309","/assets/screenshot/iphone.png":"6b7d70c66cd422ad5aee06d91ddb39c7fd0558bb","/assets/screenshot/ms.png":"26b0065c7c5d4f9f9c6b0efa4915eb6576caee75","/assets/screenshot/pro.png":"37bd67671530613e955593eb3fc818e27d18dcb6","/assets/screenshot/start.png":"8af50c7dbc9bab333f7e88b67debb6657bc61ed9","/assets/screenshot/yun.png":"b0e3dec2af4dfae8f25e5d90f19cd3c60107e89f","/assets/style.compact.css":"560798f6eb21940f4c42842139adfab6fca23c1f","/assets/style.dark.css":"4f0df7957d53e3dacad5be84c3f533541fc120fd","/assets/xlsx/cpexcel.js":"9191595b39ba1918d32fb250d3ff21d07f99fc19","/assets/xlsx/xlsx.full.min.js":"7f749f81a45a53229136c6c1f1d50dcb16ddc233","/chunk-25EUYNDY.js":"5dfdd80f424373c4d50c74b1f6eeb4ffc9309341","/chunk-2PKCKSDQ.js":"5041fb1792ffb74bba83d7509e1edeb1a8cfc8e5","/chunk-3RDQP3II.js":"1db12da1ae4e7e74cd6a82bf14d6e158d938e7f7","/chunk-3XXVNPSY.js":"b10bd3bd3f8e4a0986ca593c6cb603c8f964973c","/chunk-3ZN2VXY5.js":"cf1328a6e2b45a2d3b9394bb70ae4072268e2530","/chunk-4C5KEUAI.js":"1b4142d97c4fe4d9a91f06722c1f21a4f870911e","/chunk-53JX7EQO.js":"d5daf5f47cba3467b46dd320c0e8dd5a8d7fd2a5","/chunk-53WZVWSD.js":"af5d7a56d18acd23c1bdd6135393c353342322e1","/chunk-64EH6ZTC.js":"cb495e3d4b86c030be248dbe2ce23234aedf02b4","/chunk-BFOBHPUL.js":"de2e7f149f2d57ccf8415d1b6987abec7a60dcea","/chunk-BSZYTUAL.js":"a364cb65eced53873d064ffb1764d0fbe54de6e0","/chunk-CYYISHMD.js":"d6df2c7d7b715ab977de155ce5435521974ba299","/chunk-FBSRXXMD.js":"afec401d3da2da6c5201bb87b7b49e35ee3e2aee","/chunk-FBWYA4P4.js":"e35cd35a579afaf4a18de3774fd127f1c113efb4","/chunk-GPS3STYB.js":"a705118f09c81ec294200774ce5c7107d6d257b9","/chunk-HQNBXND5.js":"6a8fb1b2f41731fc9585c470580dd05308fdaf01","/chunk-JIFQ6OJY.js":"beb5fb9b27dc6915ff8e3ccf22bc4059b2ef0a9f","/chunk-K4B6LHIC.js":"b7f3769b08dbc042f8d09973cdb855e07287d398","/chunk-LFL7JQ5T.js":"af5ec4fc6956b132a05c08bfa84456280b368d20","/chunk-LJKXQ2Z5.js":"838e31d5d0c0be1b951fe39815c08514e46db409","/chunk-LSPFJ4IE.js":"e16a0859c400497293a890bdee551238bccd451a","/chunk-LUGCOC4B.js":"0b88934c2fd77019c613016a83179e81165f617a","/chunk-MJWBK4BK.js":"d84d49a834265ad338fdf70879ad7f10b5903936","/chunk-MNMBEUPS.js":"06e7756e362c72ec043241f1b789733c64876c26","/chunk-N2FV3EKB.js":"0d70909f5ef5cc0a746463a0e2a2054ca5848135","/chunk-N377LN55.js":"5824f3d8e3f73ea9dab50fa2fd855c806071b0b3","/chunk-OAR6ASNJ.js":"07fe4b8417640b50eea9962a735216d0040d1209","/chunk-PLUYYUV3.js":"9e071b6f57571e6755c6735234a17003184498c3","/chunk-QK7A5NB7.js":"9b92733aa3ed1ccf06b9b43d13925935aac03065","/chunk-R5JIDGPC.js":"c946dd5b70a2501b6c15b2a733038e81486fb549","/chunk-RK2DMX55.js":"115927f5f8978668c251c2581c2fe6ce8910ea61","/chunk-SBJGDJ3Y.js":"6ab1369bad517ea4b1c611aa229fbc03eb6c0314","/chunk-U4OOB3MN.js":"f28e91a46bea1a0a95a23fcdf3517e9afee80230","/chunk-VHN5CB4G.js":"a5fe9f9ce8a4220878c4992493098418435a0dab","/chunk-VJ3Y7OOG.js":"c22b3434b229f36626f89faa9a551b38183ff1b8","/chunk-W2OLRPHT.js":"7a90e494fbe68cf24fb2e2f8d1677de3bcced17f","/chunk-WK4VD42U.js":"303deb5bea273cb8837c55e6b52f24c56134cf7c","/chunk-WQIGBBDY.js":"89db8c252d09cbfd406e863b9256e5962149b72b","/chunk-XFEF7HZC.js":"3c062418559373cd427f12684917d482a5e11162","/index.html":"74814e7838d1f626326075dcc2544a73c413692b","/main-SNRZPVF2.js":"28792e3225ef722935b652d8cee7f7894f38ff16","/ngsw-worker.js":"d8762f9b75ca4146f7d3b77e0a8974c1c9992f26","/polyfills-3RNCJEXC.js":"b87dce659f325302b199c4b038d0b3be781876a5","/safety-worker.js":"70914dc203fa1f881e56f2b794d7a4f9c48ee745","/scripts-RST73XXA.js":"1a891857a05b3d7ca4308fa80e2c168732f39d72","/styles-AHP6OSNO.css":"99c1c118a3a8f4385ea9204183440f5c850821ce","/worker-basic.min.js":"70914dc203fa1f881e56f2b794d7a4f9c48ee745"},"navigationUrls":[{"positive":true,"regex":"^\\/.*$"},{"positive":false,"regex":"^\\/(?:.+\\/)?[^/]*\\.[^/]*$"},{"positive":false,"regex":"^\\/(?:.+\\/)?[^/]*__[^/]*$"},{"positive":false,"regex":"^\\/(?:.+\\/)?[^/]*__[^/]*\\/.*$"},{"positive":false,"regex":"^\\/(?:.+\\/)?stackblitz$"},{"positive":false,"regex":"^\\/version\\/.*$"},{"positive":false,"regex":"^\\/issue-helper\\/.*$"},{"positive":false,"regex":"^\\/docs\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/docs\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/components\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/components\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/cli\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/cli\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/theme\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/theme\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/auth\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/auth\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/acl\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/acl\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/form\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/form\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/cache\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/cache\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/chart\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/chart\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/mock\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/mock\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/util\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/util\\/[^/][^/]*$"}],"navigationRequestStrategy":"performance","local":"en"} +{"configVersion":1,"timestamp":1702042799270,"index":"/index.html","assetGroups":[{"name":"app","installMode":"prefetch","updateMode":"prefetch","cacheQueryOptions":{"ignoreVary":true},"urls":["/chunk-25EUYNDY.js","/chunk-2PKCKSDQ.js","/chunk-3RDQP3II.js","/chunk-3XXVNPSY.js","/chunk-3ZN2VXY5.js","/chunk-4C5KEUAI.js","/chunk-53JX7EQO.js","/chunk-53WZVWSD.js","/chunk-64EH6ZTC.js","/chunk-BFOBHPUL.js","/chunk-BSZYTUAL.js","/chunk-CYYISHMD.js","/chunk-FBSRXXMD.js","/chunk-FBWYA4P4.js","/chunk-GPS3STYB.js","/chunk-HQNBXND5.js","/chunk-JIFQ6OJY.js","/chunk-K4B6LHIC.js","/chunk-LFL7JQ5T.js","/chunk-LJKXQ2Z5.js","/chunk-LSPFJ4IE.js","/chunk-LUGCOC4B.js","/chunk-MJWBK4BK.js","/chunk-MNMBEUPS.js","/chunk-N2FV3EKB.js","/chunk-N377LN55.js","/chunk-OAR6ASNJ.js","/chunk-PLUYYUV3.js","/chunk-QK7A5NB7.js","/chunk-R5JIDGPC.js","/chunk-RK2DMX55.js","/chunk-SBJGDJ3Y.js","/chunk-U4OOB3MN.js","/chunk-VHN5CB4G.js","/chunk-VJ3Y7OOG.js","/chunk-W2OLRPHT.js","/chunk-WK4VD42U.js","/chunk-WQIGBBDY.js","/chunk-XFEF7HZC.js","/index.html","/main-SNRZPVF2.js","/ngsw-worker.js","/polyfills-3RNCJEXC.js","/safety-worker.js","/scripts-RST73XXA.js","/styles-AHP6OSNO.css","/worker-basic.min.js"],"patterns":["https:\\/\\/gw\\.alipayobjects\\.com\\/.*","https:\\/\\/img\\.alicdn\\.com\\/.*","https:\\/\\/dummyimage\\.com\\/.*"]},{"name":"assets","installMode":"lazy","updateMode":"prefetch","cacheQueryOptions":{"ignoreVary":true},"urls":["/assets/LOGO.ai","/assets/color.less","/assets/demo.docx","/assets/demo.pdf","/assets/demo.pptx","/assets/demo.xlsx","/assets/demo.zip","/assets/donate.png","/assets/highlight.pack.js","/assets/icons/icon-128x128.png","/assets/icons/icon-144x144.png","/assets/icons/icon-152x152.png","/assets/icons/icon-192x192.png","/assets/icons/icon-384x384.png","/assets/icons/icon-512x512.png","/assets/icons/icon-72x72.png","/assets/icons/icon-96x96.png","/assets/img/404.jpg","/assets/img/avatar.jpg","/assets/img/form-input.png","/assets/img/logo-color.png","/assets/img/logo-color.svg","/assets/img/logo-full.svg","/assets/img/logo.png","/assets/img/logo.svg","/assets/img/ng-alain.svg","/assets/img/plnkr.png","/assets/img/zorro.svg","/assets/jszip/jszip.min.js","/assets/logo-color.svg","/assets/logo-full.svg","/assets/logo.svg","/assets/plyr/plyr.css","/assets/plyr/plyr.min.js","/assets/plyr/plyr.svg","/assets/pro.png","/assets/qq-group.png","/assets/qrious/qrious.min.js","/assets/schema/basic.json","/assets/schema/conditional.json","/assets/schema/fixed.json","/assets/schema/onboarding.json","/assets/schema/sort.json","/assets/schema/validation.json","/assets/screenshot/architecture.png","/assets/screenshot/basic.png","/assets/screenshot/bundle-size.png","/assets/screenshot/data.webp","/assets/screenshot/desktop.png","/assets/screenshot/ipad.png","/assets/screenshot/iphone.png","/assets/screenshot/ms.png","/assets/screenshot/pro.png","/assets/screenshot/start.png","/assets/screenshot/yun.png","/assets/style.compact.css","/assets/style.dark.css","/assets/xlsx/cpexcel.js","/assets/xlsx/xlsx.full.min.js"],"patterns":[]}],"dataGroups":[],"hashTable":{"/assets/LOGO.ai":"f0eb50ff534d6596d2e66439066909d965fd74f2","/assets/color.less":"88c6936c164d7a27fbfe3e03000ad8f9952c4119","/assets/demo.docx":"e6cf4a7b4a490811ed5bec39e8cf203824e8703f","/assets/demo.pdf":"05248c1d4a636ee577f515809534ca1c85cd45c2","/assets/demo.pptx":"09fcb13206d59676838c2682a2a9b62f0a11863b","/assets/demo.xlsx":"fbfaf8aa861857adadaf89b28fe31ad3100395ea","/assets/demo.zip":"99584e56a5910ccb3d58d6dbbbf4c341747b9d57","/assets/donate.png":"e00d7905db3e9e5a8365072da22bf4816224a79c","/assets/highlight.pack.js":"d43298ac40a94f15d24baaa1f9d4087a7c1a2146","/assets/icons/icon-128x128.png":"a64acae4187c0ac026f569727d427e510e57bd3c","/assets/icons/icon-144x144.png":"3777651bff501b02af74e14a4a7d97330ed06b51","/assets/icons/icon-152x152.png":"1ce29288030cd2787bca6f9e20a9d9ea543c807d","/assets/icons/icon-192x192.png":"027f8042ef3f22333b7f57463f764c14fb10ddda","/assets/icons/icon-384x384.png":"8c398368508ae5b7e7b0f0b500493cb75e5d1ada","/assets/icons/icon-512x512.png":"a8d39cf76ddcb33fa87d534476b2cdefa733d5fe","/assets/icons/icon-72x72.png":"3771059af6090c411bae02002f2e1d7877c368e9","/assets/icons/icon-96x96.png":"400b8ad0e5b8bf5ac0740b3f480e713b2a3fc0e5","/assets/img/404.jpg":"9604038f6b13cb304a14a13b2fa76d43444b4414","/assets/img/avatar.jpg":"1258f9ead6901ff45abd313a1b4f265749749b58","/assets/img/form-input.png":"75c924b9bd023a5e27e9745936a27caaf20a1537","/assets/img/logo-color.png":"8defcb0c2b47a66d7c1b57f78525e488adc62642","/assets/img/logo-color.svg":"587f7e7d6cacc6eb7222b99c08d3df8abc8edd4e","/assets/img/logo-full.svg":"fed68d999561a3180b925071180d3d4cfd2b8440","/assets/img/logo.png":"7dcbf051ab322ef1bd076940e981bf9abdd5ae78","/assets/img/logo.svg":"a2334b77c19d8dc880bbbd82e9939a0aa8d59573","/assets/img/ng-alain.svg":"fb55683a364df5de725cb98a7c51b2eb21ca4de6","/assets/img/plnkr.png":"dc4da4819d5a9b4ff44f1457f96808a761ab9143","/assets/img/zorro.svg":"82d83c92dff3114bd45e985e3c8e402f37a4beb9","/assets/jszip/jszip.min.js":"c96375d50e72b199aa54de7b9ad908fd5a2dc7bc","/assets/logo-color.svg":"587f7e7d6cacc6eb7222b99c08d3df8abc8edd4e","/assets/logo-full.svg":"fed68d999561a3180b925071180d3d4cfd2b8440","/assets/logo.svg":"a2334b77c19d8dc880bbbd82e9939a0aa8d59573","/assets/plyr/plyr.css":"3e9561fb7a2a70b93bb1014f5d958b123fe61764","/assets/plyr/plyr.min.js":"9b165c0e728a0ac4e2cddc944c9a2c5819ca7342","/assets/plyr/plyr.svg":"bc98e4a347921594352fbae53aaad185c0c7f6b5","/assets/pro.png":"0e8e2bd64766aab6e12f44607ad7e92aec241468","/assets/qq-group.png":"1effddfab735644966df1759c2768f282a3e650e","/assets/qrious/qrious.min.js":"a9271e81e2ac6a692b1c133811afa33f0f3d7dc5","/assets/schema/basic.json":"d3b26817208571cfed1a5dd667875c358b1d7e1f","/assets/schema/conditional.json":"204f15af35cc98d5d692c7265d84d2645a6394f0","/assets/schema/fixed.json":"f4d6c6c66503ec0c817ab89e8538c2be028c7cff","/assets/schema/onboarding.json":"20c6f311cc99ccbf7180afb906e9abf74473786b","/assets/schema/sort.json":"850f554e1a7db144e9ad305b6a3ad79bfb58ca28","/assets/schema/validation.json":"0a5971cb42a49672e0005b88036ef47bc8cebe94","/assets/screenshot/architecture.png":"9e19b12a25deab3280ebf5795597a90af29c4c38","/assets/screenshot/basic.png":"42a70c07d9f35413991972634011459fdb010022","/assets/screenshot/bundle-size.png":"f67a8b0678161abce9afcb694db3c02d3b4b5f73","/assets/screenshot/data.webp":"286aec35bb8a1bc624d8fcfedf1a03bc08098438","/assets/screenshot/desktop.png":"42a70c07d9f35413991972634011459fdb010022","/assets/screenshot/ipad.png":"0fc5d85a81da2057ec68fc9094c0cb5c862bf309","/assets/screenshot/iphone.png":"6b7d70c66cd422ad5aee06d91ddb39c7fd0558bb","/assets/screenshot/ms.png":"26b0065c7c5d4f9f9c6b0efa4915eb6576caee75","/assets/screenshot/pro.png":"37bd67671530613e955593eb3fc818e27d18dcb6","/assets/screenshot/start.png":"8af50c7dbc9bab333f7e88b67debb6657bc61ed9","/assets/screenshot/yun.png":"b0e3dec2af4dfae8f25e5d90f19cd3c60107e89f","/assets/style.compact.css":"560798f6eb21940f4c42842139adfab6fca23c1f","/assets/style.dark.css":"4f0df7957d53e3dacad5be84c3f533541fc120fd","/assets/xlsx/cpexcel.js":"9191595b39ba1918d32fb250d3ff21d07f99fc19","/assets/xlsx/xlsx.full.min.js":"7f749f81a45a53229136c6c1f1d50dcb16ddc233","/chunk-25EUYNDY.js":"5dfdd80f424373c4d50c74b1f6eeb4ffc9309341","/chunk-2PKCKSDQ.js":"5041fb1792ffb74bba83d7509e1edeb1a8cfc8e5","/chunk-3RDQP3II.js":"1db12da1ae4e7e74cd6a82bf14d6e158d938e7f7","/chunk-3XXVNPSY.js":"b10bd3bd3f8e4a0986ca593c6cb603c8f964973c","/chunk-3ZN2VXY5.js":"cf1328a6e2b45a2d3b9394bb70ae4072268e2530","/chunk-4C5KEUAI.js":"1b4142d97c4fe4d9a91f06722c1f21a4f870911e","/chunk-53JX7EQO.js":"d5daf5f47cba3467b46dd320c0e8dd5a8d7fd2a5","/chunk-53WZVWSD.js":"af5d7a56d18acd23c1bdd6135393c353342322e1","/chunk-64EH6ZTC.js":"cb495e3d4b86c030be248dbe2ce23234aedf02b4","/chunk-BFOBHPUL.js":"de2e7f149f2d57ccf8415d1b6987abec7a60dcea","/chunk-BSZYTUAL.js":"a364cb65eced53873d064ffb1764d0fbe54de6e0","/chunk-CYYISHMD.js":"d6df2c7d7b715ab977de155ce5435521974ba299","/chunk-FBSRXXMD.js":"afec401d3da2da6c5201bb87b7b49e35ee3e2aee","/chunk-FBWYA4P4.js":"e35cd35a579afaf4a18de3774fd127f1c113efb4","/chunk-GPS3STYB.js":"a705118f09c81ec294200774ce5c7107d6d257b9","/chunk-HQNBXND5.js":"6a8fb1b2f41731fc9585c470580dd05308fdaf01","/chunk-JIFQ6OJY.js":"beb5fb9b27dc6915ff8e3ccf22bc4059b2ef0a9f","/chunk-K4B6LHIC.js":"b7f3769b08dbc042f8d09973cdb855e07287d398","/chunk-LFL7JQ5T.js":"af5ec4fc6956b132a05c08bfa84456280b368d20","/chunk-LJKXQ2Z5.js":"838e31d5d0c0be1b951fe39815c08514e46db409","/chunk-LSPFJ4IE.js":"e16a0859c400497293a890bdee551238bccd451a","/chunk-LUGCOC4B.js":"0b88934c2fd77019c613016a83179e81165f617a","/chunk-MJWBK4BK.js":"d84d49a834265ad338fdf70879ad7f10b5903936","/chunk-MNMBEUPS.js":"06e7756e362c72ec043241f1b789733c64876c26","/chunk-N2FV3EKB.js":"0d70909f5ef5cc0a746463a0e2a2054ca5848135","/chunk-N377LN55.js":"5824f3d8e3f73ea9dab50fa2fd855c806071b0b3","/chunk-OAR6ASNJ.js":"07fe4b8417640b50eea9962a735216d0040d1209","/chunk-PLUYYUV3.js":"9e071b6f57571e6755c6735234a17003184498c3","/chunk-QK7A5NB7.js":"9b92733aa3ed1ccf06b9b43d13925935aac03065","/chunk-R5JIDGPC.js":"c946dd5b70a2501b6c15b2a733038e81486fb549","/chunk-RK2DMX55.js":"115927f5f8978668c251c2581c2fe6ce8910ea61","/chunk-SBJGDJ3Y.js":"6ab1369bad517ea4b1c611aa229fbc03eb6c0314","/chunk-U4OOB3MN.js":"f28e91a46bea1a0a95a23fcdf3517e9afee80230","/chunk-VHN5CB4G.js":"a5fe9f9ce8a4220878c4992493098418435a0dab","/chunk-VJ3Y7OOG.js":"c22b3434b229f36626f89faa9a551b38183ff1b8","/chunk-W2OLRPHT.js":"7a90e494fbe68cf24fb2e2f8d1677de3bcced17f","/chunk-WK4VD42U.js":"303deb5bea273cb8837c55e6b52f24c56134cf7c","/chunk-WQIGBBDY.js":"89db8c252d09cbfd406e863b9256e5962149b72b","/chunk-XFEF7HZC.js":"3c062418559373cd427f12684917d482a5e11162","/index.html":"74814e7838d1f626326075dcc2544a73c413692b","/main-SNRZPVF2.js":"28792e3225ef722935b652d8cee7f7894f38ff16","/ngsw-worker.js":"d8762f9b75ca4146f7d3b77e0a8974c1c9992f26","/polyfills-3RNCJEXC.js":"b87dce659f325302b199c4b038d0b3be781876a5","/safety-worker.js":"70914dc203fa1f881e56f2b794d7a4f9c48ee745","/scripts-RST73XXA.js":"1a891857a05b3d7ca4308fa80e2c168732f39d72","/styles-AHP6OSNO.css":"99c1c118a3a8f4385ea9204183440f5c850821ce","/worker-basic.min.js":"70914dc203fa1f881e56f2b794d7a4f9c48ee745"},"navigationUrls":[{"positive":true,"regex":"^\\/.*$"},{"positive":false,"regex":"^\\/(?:.+\\/)?[^/]*\\.[^/]*$"},{"positive":false,"regex":"^\\/(?:.+\\/)?[^/]*__[^/]*$"},{"positive":false,"regex":"^\\/(?:.+\\/)?[^/]*__[^/]*\\/.*$"},{"positive":false,"regex":"^\\/(?:.+\\/)?stackblitz$"},{"positive":false,"regex":"^\\/version\\/.*$"},{"positive":false,"regex":"^\\/issue-helper\\/.*$"},{"positive":false,"regex":"^\\/docs\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/docs\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/components\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/components\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/cli\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/cli\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/theme\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/theme\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/auth\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/auth\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/acl\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/acl\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/form\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/form\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/cache\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/cache\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/chart\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/chart\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/mock\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/mock\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/util\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/util\\/[^/][^/]*$"}],"navigationRequestStrategy":"performance","local":"en"} diff --git a/ngsw.json b/ngsw.json index 93db08ad5..06bb47f15 100644 --- a/ngsw.json +++ b/ngsw.json @@ -1,6 +1,6 @@ { "configVersion": 1, - "timestamp": 1702040669347, + "timestamp": 1702042799270, "index": "/index.html", "assetGroups": [ { diff --git a/ngsw.zh.json b/ngsw.zh.json index bb50ef76b..8922354fc 100644 --- a/ngsw.zh.json +++ b/ngsw.zh.json @@ -1 +1 @@ -{"configVersion":1,"timestamp":1702040667921,"index":"/index.html","assetGroups":[{"name":"app","installMode":"prefetch","updateMode":"prefetch","cacheQueryOptions":{"ignoreVary":true},"urls":["/chunk-25EUYNDY.js","/chunk-2PKCKSDQ.js","/chunk-3RDQP3II.js","/chunk-3XXVNPSY.js","/chunk-3ZN2VXY5.js","/chunk-4C5KEUAI.js","/chunk-53JX7EQO.js","/chunk-53WZVWSD.js","/chunk-64EH6ZTC.js","/chunk-BFOBHPUL.js","/chunk-BSZYTUAL.js","/chunk-CYYISHMD.js","/chunk-FBSRXXMD.js","/chunk-FBWYA4P4.js","/chunk-GPS3STYB.js","/chunk-HQNBXND5.js","/chunk-JIFQ6OJY.js","/chunk-K4B6LHIC.js","/chunk-LFL7JQ5T.js","/chunk-LJKXQ2Z5.js","/chunk-LSPFJ4IE.js","/chunk-LUGCOC4B.js","/chunk-MJWBK4BK.js","/chunk-MNMBEUPS.js","/chunk-N2FV3EKB.js","/chunk-N377LN55.js","/chunk-OAR6ASNJ.js","/chunk-PLUYYUV3.js","/chunk-QK7A5NB7.js","/chunk-R5JIDGPC.js","/chunk-RK2DMX55.js","/chunk-SBJGDJ3Y.js","/chunk-U4OOB3MN.js","/chunk-VHN5CB4G.js","/chunk-VJ3Y7OOG.js","/chunk-W2OLRPHT.js","/chunk-WK4VD42U.js","/chunk-WQIGBBDY.js","/chunk-XFEF7HZC.js","/index.html","/main-SNRZPVF2.js","/ngsw-worker.js","/polyfills-3RNCJEXC.js","/safety-worker.js","/scripts-RST73XXA.js","/styles-AHP6OSNO.css","/worker-basic.min.js"],"patterns":["https:\\/\\/gw\\.alipayobjects\\.com\\/.*","https:\\/\\/img\\.alicdn\\.com\\/.*","https:\\/\\/dummyimage\\.com\\/.*"]},{"name":"assets","installMode":"lazy","updateMode":"prefetch","cacheQueryOptions":{"ignoreVary":true},"urls":["/assets/LOGO.ai","/assets/color.less","/assets/demo.docx","/assets/demo.pdf","/assets/demo.pptx","/assets/demo.xlsx","/assets/demo.zip","/assets/donate.png","/assets/highlight.pack.js","/assets/icons/icon-128x128.png","/assets/icons/icon-144x144.png","/assets/icons/icon-152x152.png","/assets/icons/icon-192x192.png","/assets/icons/icon-384x384.png","/assets/icons/icon-512x512.png","/assets/icons/icon-72x72.png","/assets/icons/icon-96x96.png","/assets/img/404.jpg","/assets/img/avatar.jpg","/assets/img/form-input.png","/assets/img/logo-color.png","/assets/img/logo-color.svg","/assets/img/logo-full.svg","/assets/img/logo.png","/assets/img/logo.svg","/assets/img/ng-alain.svg","/assets/img/plnkr.png","/assets/img/zorro.svg","/assets/jszip/jszip.min.js","/assets/logo-color.svg","/assets/logo-full.svg","/assets/logo.svg","/assets/plyr/plyr.css","/assets/plyr/plyr.min.js","/assets/plyr/plyr.svg","/assets/pro.png","/assets/qq-group.png","/assets/qrious/qrious.min.js","/assets/schema/basic.json","/assets/schema/conditional.json","/assets/schema/fixed.json","/assets/schema/onboarding.json","/assets/schema/sort.json","/assets/schema/validation.json","/assets/screenshot/architecture.png","/assets/screenshot/basic.png","/assets/screenshot/bundle-size.png","/assets/screenshot/data.webp","/assets/screenshot/desktop.png","/assets/screenshot/ipad.png","/assets/screenshot/iphone.png","/assets/screenshot/ms.png","/assets/screenshot/pro.png","/assets/screenshot/start.png","/assets/screenshot/yun.png","/assets/style.compact.css","/assets/style.dark.css","/assets/xlsx/cpexcel.js","/assets/xlsx/xlsx.full.min.js"],"patterns":[]}],"dataGroups":[],"hashTable":{"/assets/LOGO.ai":"f0eb50ff534d6596d2e66439066909d965fd74f2","/assets/color.less":"88c6936c164d7a27fbfe3e03000ad8f9952c4119","/assets/demo.docx":"e6cf4a7b4a490811ed5bec39e8cf203824e8703f","/assets/demo.pdf":"05248c1d4a636ee577f515809534ca1c85cd45c2","/assets/demo.pptx":"09fcb13206d59676838c2682a2a9b62f0a11863b","/assets/demo.xlsx":"fbfaf8aa861857adadaf89b28fe31ad3100395ea","/assets/demo.zip":"99584e56a5910ccb3d58d6dbbbf4c341747b9d57","/assets/donate.png":"e00d7905db3e9e5a8365072da22bf4816224a79c","/assets/highlight.pack.js":"d43298ac40a94f15d24baaa1f9d4087a7c1a2146","/assets/icons/icon-128x128.png":"a64acae4187c0ac026f569727d427e510e57bd3c","/assets/icons/icon-144x144.png":"3777651bff501b02af74e14a4a7d97330ed06b51","/assets/icons/icon-152x152.png":"1ce29288030cd2787bca6f9e20a9d9ea543c807d","/assets/icons/icon-192x192.png":"027f8042ef3f22333b7f57463f764c14fb10ddda","/assets/icons/icon-384x384.png":"8c398368508ae5b7e7b0f0b500493cb75e5d1ada","/assets/icons/icon-512x512.png":"a8d39cf76ddcb33fa87d534476b2cdefa733d5fe","/assets/icons/icon-72x72.png":"3771059af6090c411bae02002f2e1d7877c368e9","/assets/icons/icon-96x96.png":"400b8ad0e5b8bf5ac0740b3f480e713b2a3fc0e5","/assets/img/404.jpg":"9604038f6b13cb304a14a13b2fa76d43444b4414","/assets/img/avatar.jpg":"1258f9ead6901ff45abd313a1b4f265749749b58","/assets/img/form-input.png":"75c924b9bd023a5e27e9745936a27caaf20a1537","/assets/img/logo-color.png":"8defcb0c2b47a66d7c1b57f78525e488adc62642","/assets/img/logo-color.svg":"587f7e7d6cacc6eb7222b99c08d3df8abc8edd4e","/assets/img/logo-full.svg":"fed68d999561a3180b925071180d3d4cfd2b8440","/assets/img/logo.png":"7dcbf051ab322ef1bd076940e981bf9abdd5ae78","/assets/img/logo.svg":"a2334b77c19d8dc880bbbd82e9939a0aa8d59573","/assets/img/ng-alain.svg":"fb55683a364df5de725cb98a7c51b2eb21ca4de6","/assets/img/plnkr.png":"dc4da4819d5a9b4ff44f1457f96808a761ab9143","/assets/img/zorro.svg":"82d83c92dff3114bd45e985e3c8e402f37a4beb9","/assets/jszip/jszip.min.js":"c96375d50e72b199aa54de7b9ad908fd5a2dc7bc","/assets/logo-color.svg":"587f7e7d6cacc6eb7222b99c08d3df8abc8edd4e","/assets/logo-full.svg":"fed68d999561a3180b925071180d3d4cfd2b8440","/assets/logo.svg":"a2334b77c19d8dc880bbbd82e9939a0aa8d59573","/assets/plyr/plyr.css":"3e9561fb7a2a70b93bb1014f5d958b123fe61764","/assets/plyr/plyr.min.js":"9b165c0e728a0ac4e2cddc944c9a2c5819ca7342","/assets/plyr/plyr.svg":"bc98e4a347921594352fbae53aaad185c0c7f6b5","/assets/pro.png":"0e8e2bd64766aab6e12f44607ad7e92aec241468","/assets/qq-group.png":"1effddfab735644966df1759c2768f282a3e650e","/assets/qrious/qrious.min.js":"a9271e81e2ac6a692b1c133811afa33f0f3d7dc5","/assets/schema/basic.json":"d3b26817208571cfed1a5dd667875c358b1d7e1f","/assets/schema/conditional.json":"204f15af35cc98d5d692c7265d84d2645a6394f0","/assets/schema/fixed.json":"f4d6c6c66503ec0c817ab89e8538c2be028c7cff","/assets/schema/onboarding.json":"20c6f311cc99ccbf7180afb906e9abf74473786b","/assets/schema/sort.json":"850f554e1a7db144e9ad305b6a3ad79bfb58ca28","/assets/schema/validation.json":"0a5971cb42a49672e0005b88036ef47bc8cebe94","/assets/screenshot/architecture.png":"9e19b12a25deab3280ebf5795597a90af29c4c38","/assets/screenshot/basic.png":"42a70c07d9f35413991972634011459fdb010022","/assets/screenshot/bundle-size.png":"f67a8b0678161abce9afcb694db3c02d3b4b5f73","/assets/screenshot/data.webp":"286aec35bb8a1bc624d8fcfedf1a03bc08098438","/assets/screenshot/desktop.png":"42a70c07d9f35413991972634011459fdb010022","/assets/screenshot/ipad.png":"0fc5d85a81da2057ec68fc9094c0cb5c862bf309","/assets/screenshot/iphone.png":"6b7d70c66cd422ad5aee06d91ddb39c7fd0558bb","/assets/screenshot/ms.png":"26b0065c7c5d4f9f9c6b0efa4915eb6576caee75","/assets/screenshot/pro.png":"37bd67671530613e955593eb3fc818e27d18dcb6","/assets/screenshot/start.png":"8af50c7dbc9bab333f7e88b67debb6657bc61ed9","/assets/screenshot/yun.png":"b0e3dec2af4dfae8f25e5d90f19cd3c60107e89f","/assets/style.compact.css":"560798f6eb21940f4c42842139adfab6fca23c1f","/assets/style.dark.css":"4f0df7957d53e3dacad5be84c3f533541fc120fd","/assets/xlsx/cpexcel.js":"9191595b39ba1918d32fb250d3ff21d07f99fc19","/assets/xlsx/xlsx.full.min.js":"7f749f81a45a53229136c6c1f1d50dcb16ddc233","/chunk-25EUYNDY.js":"5dfdd80f424373c4d50c74b1f6eeb4ffc9309341","/chunk-2PKCKSDQ.js":"5041fb1792ffb74bba83d7509e1edeb1a8cfc8e5","/chunk-3RDQP3II.js":"1db12da1ae4e7e74cd6a82bf14d6e158d938e7f7","/chunk-3XXVNPSY.js":"b10bd3bd3f8e4a0986ca593c6cb603c8f964973c","/chunk-3ZN2VXY5.js":"cf1328a6e2b45a2d3b9394bb70ae4072268e2530","/chunk-4C5KEUAI.js":"1b4142d97c4fe4d9a91f06722c1f21a4f870911e","/chunk-53JX7EQO.js":"d5daf5f47cba3467b46dd320c0e8dd5a8d7fd2a5","/chunk-53WZVWSD.js":"af5d7a56d18acd23c1bdd6135393c353342322e1","/chunk-64EH6ZTC.js":"cb495e3d4b86c030be248dbe2ce23234aedf02b4","/chunk-BFOBHPUL.js":"de2e7f149f2d57ccf8415d1b6987abec7a60dcea","/chunk-BSZYTUAL.js":"a364cb65eced53873d064ffb1764d0fbe54de6e0","/chunk-CYYISHMD.js":"d6df2c7d7b715ab977de155ce5435521974ba299","/chunk-FBSRXXMD.js":"afec401d3da2da6c5201bb87b7b49e35ee3e2aee","/chunk-FBWYA4P4.js":"e35cd35a579afaf4a18de3774fd127f1c113efb4","/chunk-GPS3STYB.js":"a705118f09c81ec294200774ce5c7107d6d257b9","/chunk-HQNBXND5.js":"6a8fb1b2f41731fc9585c470580dd05308fdaf01","/chunk-JIFQ6OJY.js":"beb5fb9b27dc6915ff8e3ccf22bc4059b2ef0a9f","/chunk-K4B6LHIC.js":"b7f3769b08dbc042f8d09973cdb855e07287d398","/chunk-LFL7JQ5T.js":"af5ec4fc6956b132a05c08bfa84456280b368d20","/chunk-LJKXQ2Z5.js":"838e31d5d0c0be1b951fe39815c08514e46db409","/chunk-LSPFJ4IE.js":"e16a0859c400497293a890bdee551238bccd451a","/chunk-LUGCOC4B.js":"0b88934c2fd77019c613016a83179e81165f617a","/chunk-MJWBK4BK.js":"d84d49a834265ad338fdf70879ad7f10b5903936","/chunk-MNMBEUPS.js":"06e7756e362c72ec043241f1b789733c64876c26","/chunk-N2FV3EKB.js":"0d70909f5ef5cc0a746463a0e2a2054ca5848135","/chunk-N377LN55.js":"5824f3d8e3f73ea9dab50fa2fd855c806071b0b3","/chunk-OAR6ASNJ.js":"07fe4b8417640b50eea9962a735216d0040d1209","/chunk-PLUYYUV3.js":"9e071b6f57571e6755c6735234a17003184498c3","/chunk-QK7A5NB7.js":"9b92733aa3ed1ccf06b9b43d13925935aac03065","/chunk-R5JIDGPC.js":"c946dd5b70a2501b6c15b2a733038e81486fb549","/chunk-RK2DMX55.js":"115927f5f8978668c251c2581c2fe6ce8910ea61","/chunk-SBJGDJ3Y.js":"6ab1369bad517ea4b1c611aa229fbc03eb6c0314","/chunk-U4OOB3MN.js":"f28e91a46bea1a0a95a23fcdf3517e9afee80230","/chunk-VHN5CB4G.js":"a5fe9f9ce8a4220878c4992493098418435a0dab","/chunk-VJ3Y7OOG.js":"c22b3434b229f36626f89faa9a551b38183ff1b8","/chunk-W2OLRPHT.js":"7a90e494fbe68cf24fb2e2f8d1677de3bcced17f","/chunk-WK4VD42U.js":"303deb5bea273cb8837c55e6b52f24c56134cf7c","/chunk-WQIGBBDY.js":"89db8c252d09cbfd406e863b9256e5962149b72b","/chunk-XFEF7HZC.js":"3c062418559373cd427f12684917d482a5e11162","/index.html":"74814e7838d1f626326075dcc2544a73c413692b","/main-SNRZPVF2.js":"28792e3225ef722935b652d8cee7f7894f38ff16","/ngsw-worker.js":"d8762f9b75ca4146f7d3b77e0a8974c1c9992f26","/polyfills-3RNCJEXC.js":"b87dce659f325302b199c4b038d0b3be781876a5","/safety-worker.js":"70914dc203fa1f881e56f2b794d7a4f9c48ee745","/scripts-RST73XXA.js":"1a891857a05b3d7ca4308fa80e2c168732f39d72","/styles-AHP6OSNO.css":"99c1c118a3a8f4385ea9204183440f5c850821ce","/worker-basic.min.js":"70914dc203fa1f881e56f2b794d7a4f9c48ee745"},"navigationUrls":[{"positive":true,"regex":"^\\/.*$"},{"positive":false,"regex":"^\\/(?:.+\\/)?[^/]*\\.[^/]*$"},{"positive":false,"regex":"^\\/(?:.+\\/)?[^/]*__[^/]*$"},{"positive":false,"regex":"^\\/(?:.+\\/)?[^/]*__[^/]*\\/.*$"},{"positive":false,"regex":"^\\/(?:.+\\/)?stackblitz$"},{"positive":false,"regex":"^\\/version\\/.*$"},{"positive":false,"regex":"^\\/issue-helper\\/.*$"},{"positive":false,"regex":"^\\/docs\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/docs\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/components\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/components\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/cli\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/cli\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/theme\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/theme\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/auth\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/auth\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/acl\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/acl\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/form\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/form\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/cache\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/cache\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/chart\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/chart\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/mock\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/mock\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/util\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/util\\/[^/][^/]*$"}],"navigationRequestStrategy":"performance","local":"zh"} +{"configVersion":1,"timestamp":1702042797862,"index":"/index.html","assetGroups":[{"name":"app","installMode":"prefetch","updateMode":"prefetch","cacheQueryOptions":{"ignoreVary":true},"urls":["/chunk-25EUYNDY.js","/chunk-2PKCKSDQ.js","/chunk-3RDQP3II.js","/chunk-3XXVNPSY.js","/chunk-3ZN2VXY5.js","/chunk-4C5KEUAI.js","/chunk-53JX7EQO.js","/chunk-53WZVWSD.js","/chunk-64EH6ZTC.js","/chunk-BFOBHPUL.js","/chunk-BSZYTUAL.js","/chunk-CYYISHMD.js","/chunk-FBSRXXMD.js","/chunk-FBWYA4P4.js","/chunk-GPS3STYB.js","/chunk-HQNBXND5.js","/chunk-JIFQ6OJY.js","/chunk-K4B6LHIC.js","/chunk-LFL7JQ5T.js","/chunk-LJKXQ2Z5.js","/chunk-LSPFJ4IE.js","/chunk-LUGCOC4B.js","/chunk-MJWBK4BK.js","/chunk-MNMBEUPS.js","/chunk-N2FV3EKB.js","/chunk-N377LN55.js","/chunk-OAR6ASNJ.js","/chunk-PLUYYUV3.js","/chunk-QK7A5NB7.js","/chunk-R5JIDGPC.js","/chunk-RK2DMX55.js","/chunk-SBJGDJ3Y.js","/chunk-U4OOB3MN.js","/chunk-VHN5CB4G.js","/chunk-VJ3Y7OOG.js","/chunk-W2OLRPHT.js","/chunk-WK4VD42U.js","/chunk-WQIGBBDY.js","/chunk-XFEF7HZC.js","/index.html","/main-SNRZPVF2.js","/ngsw-worker.js","/polyfills-3RNCJEXC.js","/safety-worker.js","/scripts-RST73XXA.js","/styles-AHP6OSNO.css","/worker-basic.min.js"],"patterns":["https:\\/\\/gw\\.alipayobjects\\.com\\/.*","https:\\/\\/img\\.alicdn\\.com\\/.*","https:\\/\\/dummyimage\\.com\\/.*"]},{"name":"assets","installMode":"lazy","updateMode":"prefetch","cacheQueryOptions":{"ignoreVary":true},"urls":["/assets/LOGO.ai","/assets/color.less","/assets/demo.docx","/assets/demo.pdf","/assets/demo.pptx","/assets/demo.xlsx","/assets/demo.zip","/assets/donate.png","/assets/highlight.pack.js","/assets/icons/icon-128x128.png","/assets/icons/icon-144x144.png","/assets/icons/icon-152x152.png","/assets/icons/icon-192x192.png","/assets/icons/icon-384x384.png","/assets/icons/icon-512x512.png","/assets/icons/icon-72x72.png","/assets/icons/icon-96x96.png","/assets/img/404.jpg","/assets/img/avatar.jpg","/assets/img/form-input.png","/assets/img/logo-color.png","/assets/img/logo-color.svg","/assets/img/logo-full.svg","/assets/img/logo.png","/assets/img/logo.svg","/assets/img/ng-alain.svg","/assets/img/plnkr.png","/assets/img/zorro.svg","/assets/jszip/jszip.min.js","/assets/logo-color.svg","/assets/logo-full.svg","/assets/logo.svg","/assets/plyr/plyr.css","/assets/plyr/plyr.min.js","/assets/plyr/plyr.svg","/assets/pro.png","/assets/qq-group.png","/assets/qrious/qrious.min.js","/assets/schema/basic.json","/assets/schema/conditional.json","/assets/schema/fixed.json","/assets/schema/onboarding.json","/assets/schema/sort.json","/assets/schema/validation.json","/assets/screenshot/architecture.png","/assets/screenshot/basic.png","/assets/screenshot/bundle-size.png","/assets/screenshot/data.webp","/assets/screenshot/desktop.png","/assets/screenshot/ipad.png","/assets/screenshot/iphone.png","/assets/screenshot/ms.png","/assets/screenshot/pro.png","/assets/screenshot/start.png","/assets/screenshot/yun.png","/assets/style.compact.css","/assets/style.dark.css","/assets/xlsx/cpexcel.js","/assets/xlsx/xlsx.full.min.js"],"patterns":[]}],"dataGroups":[],"hashTable":{"/assets/LOGO.ai":"f0eb50ff534d6596d2e66439066909d965fd74f2","/assets/color.less":"88c6936c164d7a27fbfe3e03000ad8f9952c4119","/assets/demo.docx":"e6cf4a7b4a490811ed5bec39e8cf203824e8703f","/assets/demo.pdf":"05248c1d4a636ee577f515809534ca1c85cd45c2","/assets/demo.pptx":"09fcb13206d59676838c2682a2a9b62f0a11863b","/assets/demo.xlsx":"fbfaf8aa861857adadaf89b28fe31ad3100395ea","/assets/demo.zip":"99584e56a5910ccb3d58d6dbbbf4c341747b9d57","/assets/donate.png":"e00d7905db3e9e5a8365072da22bf4816224a79c","/assets/highlight.pack.js":"d43298ac40a94f15d24baaa1f9d4087a7c1a2146","/assets/icons/icon-128x128.png":"a64acae4187c0ac026f569727d427e510e57bd3c","/assets/icons/icon-144x144.png":"3777651bff501b02af74e14a4a7d97330ed06b51","/assets/icons/icon-152x152.png":"1ce29288030cd2787bca6f9e20a9d9ea543c807d","/assets/icons/icon-192x192.png":"027f8042ef3f22333b7f57463f764c14fb10ddda","/assets/icons/icon-384x384.png":"8c398368508ae5b7e7b0f0b500493cb75e5d1ada","/assets/icons/icon-512x512.png":"a8d39cf76ddcb33fa87d534476b2cdefa733d5fe","/assets/icons/icon-72x72.png":"3771059af6090c411bae02002f2e1d7877c368e9","/assets/icons/icon-96x96.png":"400b8ad0e5b8bf5ac0740b3f480e713b2a3fc0e5","/assets/img/404.jpg":"9604038f6b13cb304a14a13b2fa76d43444b4414","/assets/img/avatar.jpg":"1258f9ead6901ff45abd313a1b4f265749749b58","/assets/img/form-input.png":"75c924b9bd023a5e27e9745936a27caaf20a1537","/assets/img/logo-color.png":"8defcb0c2b47a66d7c1b57f78525e488adc62642","/assets/img/logo-color.svg":"587f7e7d6cacc6eb7222b99c08d3df8abc8edd4e","/assets/img/logo-full.svg":"fed68d999561a3180b925071180d3d4cfd2b8440","/assets/img/logo.png":"7dcbf051ab322ef1bd076940e981bf9abdd5ae78","/assets/img/logo.svg":"a2334b77c19d8dc880bbbd82e9939a0aa8d59573","/assets/img/ng-alain.svg":"fb55683a364df5de725cb98a7c51b2eb21ca4de6","/assets/img/plnkr.png":"dc4da4819d5a9b4ff44f1457f96808a761ab9143","/assets/img/zorro.svg":"82d83c92dff3114bd45e985e3c8e402f37a4beb9","/assets/jszip/jszip.min.js":"c96375d50e72b199aa54de7b9ad908fd5a2dc7bc","/assets/logo-color.svg":"587f7e7d6cacc6eb7222b99c08d3df8abc8edd4e","/assets/logo-full.svg":"fed68d999561a3180b925071180d3d4cfd2b8440","/assets/logo.svg":"a2334b77c19d8dc880bbbd82e9939a0aa8d59573","/assets/plyr/plyr.css":"3e9561fb7a2a70b93bb1014f5d958b123fe61764","/assets/plyr/plyr.min.js":"9b165c0e728a0ac4e2cddc944c9a2c5819ca7342","/assets/plyr/plyr.svg":"bc98e4a347921594352fbae53aaad185c0c7f6b5","/assets/pro.png":"0e8e2bd64766aab6e12f44607ad7e92aec241468","/assets/qq-group.png":"1effddfab735644966df1759c2768f282a3e650e","/assets/qrious/qrious.min.js":"a9271e81e2ac6a692b1c133811afa33f0f3d7dc5","/assets/schema/basic.json":"d3b26817208571cfed1a5dd667875c358b1d7e1f","/assets/schema/conditional.json":"204f15af35cc98d5d692c7265d84d2645a6394f0","/assets/schema/fixed.json":"f4d6c6c66503ec0c817ab89e8538c2be028c7cff","/assets/schema/onboarding.json":"20c6f311cc99ccbf7180afb906e9abf74473786b","/assets/schema/sort.json":"850f554e1a7db144e9ad305b6a3ad79bfb58ca28","/assets/schema/validation.json":"0a5971cb42a49672e0005b88036ef47bc8cebe94","/assets/screenshot/architecture.png":"9e19b12a25deab3280ebf5795597a90af29c4c38","/assets/screenshot/basic.png":"42a70c07d9f35413991972634011459fdb010022","/assets/screenshot/bundle-size.png":"f67a8b0678161abce9afcb694db3c02d3b4b5f73","/assets/screenshot/data.webp":"286aec35bb8a1bc624d8fcfedf1a03bc08098438","/assets/screenshot/desktop.png":"42a70c07d9f35413991972634011459fdb010022","/assets/screenshot/ipad.png":"0fc5d85a81da2057ec68fc9094c0cb5c862bf309","/assets/screenshot/iphone.png":"6b7d70c66cd422ad5aee06d91ddb39c7fd0558bb","/assets/screenshot/ms.png":"26b0065c7c5d4f9f9c6b0efa4915eb6576caee75","/assets/screenshot/pro.png":"37bd67671530613e955593eb3fc818e27d18dcb6","/assets/screenshot/start.png":"8af50c7dbc9bab333f7e88b67debb6657bc61ed9","/assets/screenshot/yun.png":"b0e3dec2af4dfae8f25e5d90f19cd3c60107e89f","/assets/style.compact.css":"560798f6eb21940f4c42842139adfab6fca23c1f","/assets/style.dark.css":"4f0df7957d53e3dacad5be84c3f533541fc120fd","/assets/xlsx/cpexcel.js":"9191595b39ba1918d32fb250d3ff21d07f99fc19","/assets/xlsx/xlsx.full.min.js":"7f749f81a45a53229136c6c1f1d50dcb16ddc233","/chunk-25EUYNDY.js":"5dfdd80f424373c4d50c74b1f6eeb4ffc9309341","/chunk-2PKCKSDQ.js":"5041fb1792ffb74bba83d7509e1edeb1a8cfc8e5","/chunk-3RDQP3II.js":"1db12da1ae4e7e74cd6a82bf14d6e158d938e7f7","/chunk-3XXVNPSY.js":"b10bd3bd3f8e4a0986ca593c6cb603c8f964973c","/chunk-3ZN2VXY5.js":"cf1328a6e2b45a2d3b9394bb70ae4072268e2530","/chunk-4C5KEUAI.js":"1b4142d97c4fe4d9a91f06722c1f21a4f870911e","/chunk-53JX7EQO.js":"d5daf5f47cba3467b46dd320c0e8dd5a8d7fd2a5","/chunk-53WZVWSD.js":"af5d7a56d18acd23c1bdd6135393c353342322e1","/chunk-64EH6ZTC.js":"cb495e3d4b86c030be248dbe2ce23234aedf02b4","/chunk-BFOBHPUL.js":"de2e7f149f2d57ccf8415d1b6987abec7a60dcea","/chunk-BSZYTUAL.js":"a364cb65eced53873d064ffb1764d0fbe54de6e0","/chunk-CYYISHMD.js":"d6df2c7d7b715ab977de155ce5435521974ba299","/chunk-FBSRXXMD.js":"afec401d3da2da6c5201bb87b7b49e35ee3e2aee","/chunk-FBWYA4P4.js":"e35cd35a579afaf4a18de3774fd127f1c113efb4","/chunk-GPS3STYB.js":"a705118f09c81ec294200774ce5c7107d6d257b9","/chunk-HQNBXND5.js":"6a8fb1b2f41731fc9585c470580dd05308fdaf01","/chunk-JIFQ6OJY.js":"beb5fb9b27dc6915ff8e3ccf22bc4059b2ef0a9f","/chunk-K4B6LHIC.js":"b7f3769b08dbc042f8d09973cdb855e07287d398","/chunk-LFL7JQ5T.js":"af5ec4fc6956b132a05c08bfa84456280b368d20","/chunk-LJKXQ2Z5.js":"838e31d5d0c0be1b951fe39815c08514e46db409","/chunk-LSPFJ4IE.js":"e16a0859c400497293a890bdee551238bccd451a","/chunk-LUGCOC4B.js":"0b88934c2fd77019c613016a83179e81165f617a","/chunk-MJWBK4BK.js":"d84d49a834265ad338fdf70879ad7f10b5903936","/chunk-MNMBEUPS.js":"06e7756e362c72ec043241f1b789733c64876c26","/chunk-N2FV3EKB.js":"0d70909f5ef5cc0a746463a0e2a2054ca5848135","/chunk-N377LN55.js":"5824f3d8e3f73ea9dab50fa2fd855c806071b0b3","/chunk-OAR6ASNJ.js":"07fe4b8417640b50eea9962a735216d0040d1209","/chunk-PLUYYUV3.js":"9e071b6f57571e6755c6735234a17003184498c3","/chunk-QK7A5NB7.js":"9b92733aa3ed1ccf06b9b43d13925935aac03065","/chunk-R5JIDGPC.js":"c946dd5b70a2501b6c15b2a733038e81486fb549","/chunk-RK2DMX55.js":"115927f5f8978668c251c2581c2fe6ce8910ea61","/chunk-SBJGDJ3Y.js":"6ab1369bad517ea4b1c611aa229fbc03eb6c0314","/chunk-U4OOB3MN.js":"f28e91a46bea1a0a95a23fcdf3517e9afee80230","/chunk-VHN5CB4G.js":"a5fe9f9ce8a4220878c4992493098418435a0dab","/chunk-VJ3Y7OOG.js":"c22b3434b229f36626f89faa9a551b38183ff1b8","/chunk-W2OLRPHT.js":"7a90e494fbe68cf24fb2e2f8d1677de3bcced17f","/chunk-WK4VD42U.js":"303deb5bea273cb8837c55e6b52f24c56134cf7c","/chunk-WQIGBBDY.js":"89db8c252d09cbfd406e863b9256e5962149b72b","/chunk-XFEF7HZC.js":"3c062418559373cd427f12684917d482a5e11162","/index.html":"74814e7838d1f626326075dcc2544a73c413692b","/main-SNRZPVF2.js":"28792e3225ef722935b652d8cee7f7894f38ff16","/ngsw-worker.js":"d8762f9b75ca4146f7d3b77e0a8974c1c9992f26","/polyfills-3RNCJEXC.js":"b87dce659f325302b199c4b038d0b3be781876a5","/safety-worker.js":"70914dc203fa1f881e56f2b794d7a4f9c48ee745","/scripts-RST73XXA.js":"1a891857a05b3d7ca4308fa80e2c168732f39d72","/styles-AHP6OSNO.css":"99c1c118a3a8f4385ea9204183440f5c850821ce","/worker-basic.min.js":"70914dc203fa1f881e56f2b794d7a4f9c48ee745"},"navigationUrls":[{"positive":true,"regex":"^\\/.*$"},{"positive":false,"regex":"^\\/(?:.+\\/)?[^/]*\\.[^/]*$"},{"positive":false,"regex":"^\\/(?:.+\\/)?[^/]*__[^/]*$"},{"positive":false,"regex":"^\\/(?:.+\\/)?[^/]*__[^/]*\\/.*$"},{"positive":false,"regex":"^\\/(?:.+\\/)?stackblitz$"},{"positive":false,"regex":"^\\/version\\/.*$"},{"positive":false,"regex":"^\\/issue-helper\\/.*$"},{"positive":false,"regex":"^\\/docs\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/docs\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/components\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/components\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/cli\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/cli\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/theme\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/theme\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/auth\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/auth\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/acl\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/acl\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/form\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/form\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/cache\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/cache\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/chart\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/chart\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/mock\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/mock\\/[^/][^/]*$"},{"positive":false,"regex":"^\\/util\\/(?:.+\\/)?[^/]*$"},{"positive":false,"regex":"^\\/util\\/[^/][^/]*$"}],"navigationRequestStrategy":"performance","local":"zh"} diff --git a/sitemap.xml b/sitemap.xml index 8cf1c33d1..4c08d64aa 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://ng-alain.com/2023-12-08T13:04:40.343Zhourly1.0https://ng-alain.com/acl/control/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/acl/getting-started/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/acl/guard/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/auth/get/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/auth/getting-started/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/auth/guard/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/auth/qa/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/auth/send/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/auth/service/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/auth/set/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/cache/getting-started/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/cache/service/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/bar/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/card/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/chart-echarts/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/custom/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/faq/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/gauge/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/getting-started/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/mini-area/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/mini-bar/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/mini-progress/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/number-info/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/pie/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/radar/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/single-bar/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/tag-cloud/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/timeline/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/trend/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/water-wave/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/cli/add/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/cli/default/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/cli/generate/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/cli/getting-started/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/cli/plugin/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/cli/sta/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/auto-focus/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/avatar-list/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/cell/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/count-down/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/date-picker/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/down-file/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/ellipsis/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/error-collect/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/exception/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/footer-toolbar/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/full-content/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/global-footer/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/highlight/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/hotkey/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/let/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/loading/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/lodop/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/media/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/notice-icon/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/observers/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/onboarding/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/page-header/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/pdf/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/qr/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/quick-menu/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/result/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/reuse-tab/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/se/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/sg/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/st/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/sv/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/tag-select/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/xlsx/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/zip/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/acl/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/architecture/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/auth/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/cache/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/changelog/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/cli/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/contributing/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/deploy/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/faq/en2023-12-08T13:04:40.344Zhourly0.8https://ng-alain.com/docs/getting-started/en2023-12-08T13:04:40.344Zhourly0.8https://ng-alain.com/docs/global-config/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/graph/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/how-to-start/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/i18n/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/import/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/mock/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/module/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/new-component/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/new-page/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/performance/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/server/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/ssr/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/style-guide/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/theme/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/upgrade-v17/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/upgrade/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/acl/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/array/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/autocomplete/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/boolean/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/cascader/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/checkbox/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/color/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/conditional/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/custom/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/customize/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/date/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/error/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/getting-started/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/i18n/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/layout/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/mention/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/modal/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/monaco-editor/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/number/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/object/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/qa/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/qr-code/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/radio/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/rate/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/schema/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/segmented/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/select/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/slider/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/string/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/tag/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/text/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/textarea/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/time/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/tinymce/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/transfer/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/tree-select/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/upload/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/mock/getting-started/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/mock/rule/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/component-styles/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/customize-theme/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/date/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/drawer/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/getting-started/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/global/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/http/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/icon/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/index/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/keys/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/layout-blank/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/layout-default/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/locale/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/menu/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/modal/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/performance/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/responsive/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/rtl/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/safe/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/settings/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/theme-btn/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/title/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/tools/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/yn/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/array/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/browser/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/date-time/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/decorator/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/form/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/format/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/getting-started/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/math/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/other/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/pipes-currency/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/pipes-filter/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/pipes-format/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/token/en2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/acl/control/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/acl/getting-started/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/acl/guard/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/auth/get/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/auth/getting-started/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/auth/guard/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/auth/qa/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/auth/send/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/auth/service/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/auth/set/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/cache/getting-started/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/cache/service/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/bar/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/card/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/chart-echarts/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/custom/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/faq/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/gauge/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/getting-started/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/mini-area/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/mini-bar/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/mini-progress/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/number-info/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/pie/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/radar/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/single-bar/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/tag-cloud/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/timeline/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/trend/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/chart/water-wave/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/cli/add/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/cli/default/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/cli/generate/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/cli/getting-started/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/cli/plugin/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/cli/sta/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/auto-focus/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/avatar-list/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/cell/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/count-down/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/date-picker/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/down-file/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/ellipsis/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/error-collect/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/exception/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/footer-toolbar/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/full-content/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/global-footer/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/highlight/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/hotkey/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/let/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/loading/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/lodop/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/media/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/notice-icon/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/observers/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/onboarding/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/page-header/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/pdf/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/qr/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/quick-menu/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/result/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/reuse-tab/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/se/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/sg/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/st/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/sv/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/tag-select/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/xlsx/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/components/zip/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/acl/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/architecture/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/auth/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/cache/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/changelog/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/cli/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/contributing/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/deploy/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/faq/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/getting-started/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/global-config/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/graph/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/how-to-start/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/i18n/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/import/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/mock/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/module/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/new-component/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/new-page/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/performance/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/server/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/ssr/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/style-guide/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/theme/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/upgrade-v17/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/docs/upgrade/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/acl/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/array/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/autocomplete/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/boolean/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/cascader/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/checkbox/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/color/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/conditional/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/custom/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/customize/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/date/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/error/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/getting-started/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/i18n/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/layout/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/mention/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/modal/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/monaco-editor/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/number/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/object/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/qa/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/qr-code/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/radio/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/rate/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/schema/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/segmented/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/select/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/slider/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/string/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/tag/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/text/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/textarea/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/time/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/tinymce/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/transfer/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/tree-select/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/form/upload/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/mock/getting-started/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/mock/rule/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/component-styles/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/customize-theme/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/date/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/drawer/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/getting-started/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/global/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/http/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/icon/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/index/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/keys/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/layout-blank/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/layout-default/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/locale/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/menu/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/modal/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/performance/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/responsive/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/rtl/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/safe/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/settings/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/theme-btn/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/title/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/tools/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/theme/yn/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/array/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/browser/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/date-time/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/decorator/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/form/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/format/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/getting-started/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/math/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/other/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/pipes-currency/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/pipes-filter/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/pipes-format/zh2023-12-08T13:04:40.344Zhourly0.6https://ng-alain.com/util/token/zh2023-12-08T13:04:40.344Zhourly0.6 \ No newline at end of file +https://ng-alain.com/2023-12-08T13:40:10.175Zhourly1.0https://ng-alain.com/acl/control/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/acl/getting-started/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/acl/guard/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/auth/get/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/auth/getting-started/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/auth/guard/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/auth/qa/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/auth/send/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/auth/service/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/auth/set/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/cache/getting-started/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/cache/service/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/chart/bar/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/chart/card/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/chart/chart-echarts/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/chart/custom/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/chart/faq/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/chart/gauge/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/chart/getting-started/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/chart/mini-area/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/chart/mini-bar/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/chart/mini-progress/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/chart/number-info/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/chart/pie/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/chart/radar/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/chart/single-bar/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/chart/tag-cloud/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/chart/timeline/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/chart/trend/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/chart/water-wave/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/cli/add/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/cli/default/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/cli/generate/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/cli/getting-started/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/cli/plugin/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/cli/sta/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/auto-focus/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/avatar-list/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/cell/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/count-down/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/date-picker/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/down-file/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/ellipsis/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/error-collect/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/exception/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/footer-toolbar/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/full-content/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/global-footer/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/highlight/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/hotkey/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/let/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/loading/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/lodop/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/media/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/notice-icon/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/observers/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/onboarding/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/page-header/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/pdf/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/qr/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/quick-menu/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/result/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/reuse-tab/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/se/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/sg/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/st/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/sv/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/tag-select/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/xlsx/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/components/zip/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/acl/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/architecture/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/auth/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/cache/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/changelog/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/cli/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/contributing/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/deploy/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/faq/en2023-12-08T13:40:10.175Zhourly0.8https://ng-alain.com/docs/getting-started/en2023-12-08T13:40:10.175Zhourly0.8https://ng-alain.com/docs/global-config/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/graph/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/how-to-start/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/i18n/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/import/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/mock/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/module/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/new-component/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/new-page/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/performance/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/server/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/ssr/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/style-guide/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/theme/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/upgrade-v17/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/docs/upgrade/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/form/acl/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/form/array/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/form/autocomplete/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/form/boolean/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/form/cascader/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/form/checkbox/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/form/color/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/form/conditional/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/form/custom/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/form/customize/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/form/date/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/form/error/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/form/getting-started/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/form/i18n/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/form/layout/en2023-12-08T13:40:10.175Zhourly0.6https://ng-alain.com/form/mention/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/modal/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/monaco-editor/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/number/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/object/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/qa/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/qr-code/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/radio/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/rate/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/schema/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/segmented/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/select/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/slider/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/string/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/tag/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/text/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/textarea/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/time/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/tinymce/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/transfer/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/tree-select/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/upload/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/mock/getting-started/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/mock/rule/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/component-styles/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/customize-theme/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/date/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/drawer/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/getting-started/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/global/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/http/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/icon/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/index/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/keys/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/layout-blank/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/layout-default/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/locale/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/menu/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/modal/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/performance/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/responsive/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/rtl/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/safe/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/settings/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/theme-btn/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/title/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/tools/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/yn/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/array/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/browser/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/date-time/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/decorator/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/form/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/format/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/getting-started/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/math/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/other/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/pipes-currency/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/pipes-filter/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/pipes-format/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/token/en2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/acl/control/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/acl/getting-started/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/acl/guard/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/auth/get/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/auth/getting-started/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/auth/guard/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/auth/qa/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/auth/send/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/auth/service/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/auth/set/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/cache/getting-started/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/cache/service/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/chart/bar/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/chart/card/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/chart/chart-echarts/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/chart/custom/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/chart/faq/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/chart/gauge/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/chart/getting-started/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/chart/mini-area/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/chart/mini-bar/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/chart/mini-progress/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/chart/number-info/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/chart/pie/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/chart/radar/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/chart/single-bar/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/chart/tag-cloud/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/chart/timeline/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/chart/trend/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/chart/water-wave/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/cli/add/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/cli/default/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/cli/generate/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/cli/getting-started/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/cli/plugin/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/cli/sta/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/auto-focus/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/avatar-list/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/cell/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/count-down/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/date-picker/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/down-file/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/ellipsis/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/error-collect/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/exception/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/footer-toolbar/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/full-content/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/global-footer/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/highlight/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/hotkey/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/let/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/loading/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/lodop/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/media/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/notice-icon/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/observers/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/onboarding/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/page-header/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/pdf/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/qr/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/quick-menu/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/result/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/reuse-tab/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/se/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/sg/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/st/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/sv/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/tag-select/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/xlsx/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/components/zip/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/acl/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/architecture/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/auth/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/cache/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/changelog/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/cli/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/contributing/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/deploy/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/faq/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/getting-started/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/global-config/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/graph/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/how-to-start/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/i18n/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/import/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/mock/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/module/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/new-component/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/new-page/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/performance/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/server/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/ssr/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/style-guide/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/theme/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/upgrade-v17/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/docs/upgrade/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/acl/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/array/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/autocomplete/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/boolean/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/cascader/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/checkbox/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/color/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/conditional/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/custom/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/customize/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/date/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/error/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/getting-started/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/i18n/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/layout/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/mention/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/modal/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/monaco-editor/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/number/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/object/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/qa/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/qr-code/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/radio/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/rate/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/schema/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/segmented/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/select/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/slider/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/string/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/tag/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/text/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/textarea/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/time/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/tinymce/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/transfer/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/tree-select/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/form/upload/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/mock/getting-started/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/mock/rule/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/component-styles/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/customize-theme/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/date/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/drawer/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/getting-started/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/global/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/http/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/icon/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/index/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/keys/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/layout-blank/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/layout-default/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/locale/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/menu/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/modal/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/performance/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/responsive/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/rtl/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/safe/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/settings/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/theme-btn/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/title/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/tools/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/theme/yn/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/array/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/browser/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/date-time/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/decorator/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/form/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/format/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/getting-started/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/math/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/other/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/pipes-currency/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/pipes-filter/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/pipes-format/zh2023-12-08T13:40:10.176Zhourly0.6https://ng-alain.com/util/token/zh2023-12-08T13:40:10.176Zhourly0.6 \ No newline at end of file