@firestitch/grid

中文文档
18.3.0发布于 2026/11/01MITTypeScriptES Module

Angular 18中的虚拟滚动网格,可以显示枢轴(行级别、列级别和值),也可以显示源代码自己的行(详细信息),每个列标头都有排序和过滤器、可扩展的组、总行和列,以及停靠的布局面板

中文使用文档
文档目录8 节
  1. 安装
  2. 使用
  3. 输入
  4. 源
  5. 布局助手
  6. 风格
  7. 开发
  8. 许可证

@firestitch /网格

一个用于Angular 18的虚拟滚动网格,它可以显示枢轴(行级别、列级别和 值)或源自己的行(详细信息),对每个列标头进行排序和筛选, 可扩展的组,总行和列,以及停靠在它旁边的布局面板。网格从不 保存一个数据集:它请求 GridSource 对于屏幕上的行,作为查看器读取更多 滚动和打开组。

安装

npm install @firestitch/grid

像每个firekit包一样,网格没有声明对等依赖项。应用程序安装 网格本身导入的包:

包版本用于
@angular/core, common, forms, cdk, material^18.2.7
rxjs^7.5.6
@firestitch/chip^18.0.70布局面板的现场芯片
@firestitch/menu^18.0.5标题和布局面板菜单
@firestitch/resize^18.0.3布局面板的调整边缘大小
@firestitch/style^18.0.70这个 --fs-* 网格绘制时使用的颜色符号
@firestitch/datepicker^18.0.29日期列过滤器
@firestitch/form^18.0.41过滤面板验证
@firestitch/popover^18.1.0过滤器面板和截断的单元格(面板模式,在18.1.0中添加)

一个应用程序必须安装它们中的每一个, @firestitch/datepicker, @firestitch/form 和 @firestitch/popover 包括:应用程序不能建立没有他们,和 @firestitch/popover 必须是18.1.0或更高版本。 @firestitch/datepicker 和 @firestitch/form 进口 @firestitch/clear, common, date, dialog, drawer, message 和 scroll-picker, @firestitch/drawer 需要 @firestitch/core 和 @firestitch/store。一个已经使用的应用程序 Fs-datepicker有。

使用

fs-grid 是一个独立的组件。

import { HttpClient } from '@angular/common/http';
import { Component, inject, signal } from '@angular/core';

import {
  FsGridComponent,
  GridAggregation,
  GridGranularity,
  GridLayout,
  GridResult,
  GridSource,
} from '@firestitch/grid';

@Component({
  selector: 'app-sales-grid',
  standalone: true,
  imports: [FsGridComponent],
  template: '<fs-grid [source]="source" [(layout)]="layout"></fs-grid>',
})
export class SalesGridComponent {
  public layout = signal<GridLayout>({
    rows: [{ field: 'region' }],
    columns: [{ field: 'orderedOn', granularity: GridGranularity.Month }],
    values: [{ field: 'revenue', aggregation: GridAggregation.Sum }],
    totalRow: true,
  });

  public source: GridSource = {
    read: (request, params) => this._http.post<GridResult>('/sales/grid', { request, params }),
  };

  private _http = inject(HttpClient);
}

输入

输入类型
sourceGridSource必需的。这是网格获取数据的唯一途径。
[(layout)]GridLayout必需的。排序,过滤,标题拖拽和布局面板写它回来,规范。
controlsGridControls观众可能会改变什么(sort, expand, layout, filter): enabled, disabled 或者 hidden。启用了遗漏的控件。
paramsGridParams主机自己的值,每次读取都携带。网格从不向内看。
[(expansion)]GridExpansion哪些组是开放的:每个组都是开放的 depth,然后观众自己的打开和关闭。
[(panel)]GridPanel | null面板停靠在电网旁边; null 当没有人开门的时候。
formatterGridFormatter写入网格显示的每个值,因此屏幕和主机自己的文件读取相同。网格的en-US格式化程序在缺席时使用。
clearedFilter{ field, granularity } | null当谷物参数驱动发生变化时,主机取出的日期过滤器;状态行将其命名。

源

export interface GridSource {
  read(request: GridRequest, params: GridParams): Observable<GridResult>;
}
  • 每次发射都是答案的一部分,完成意味着完成。
  • 阅读是冷的,取消订阅会中止阅读。网格取消不再需要的读取。
  • request.rows 命名所需的行范围, request.columns 列范围,和 request.fields 还请求源的字段和限制。
  • 错误到达时为 Error 带有可读信息;网格显示了重试。

布局助手

  • canonicalGridLayout(layout) 将布局作为主机存储并进行比较:默认值为 left out和key的顺序是一样的,所以两个相同的布局有相同的JSON。
  • normalizeGridLayout(layout) 可原谅的未知键和没有字段的条目是什么 每一张单子和每一面旗帜都会回来。

风格

网格根据自己的组件样式进行绘制 --fs-* 令牌的 @firestitch/style 和 Angular Material主题。没有什么要包括的:包裹 styles.scss 是空的 只有这样构建才能像其他Firestitch包一样布局。

开发

npm run serve     # the playground, with every example
npm run check     # the engine, contract and client checks
npm run package   # the checks, then package/ with this README and the LICENSE

许可证

麻省理工学院。看到 许可证.

版本与发布记录

@firestitch/grid 共发布 9 个版本,首次发布于 2026/10/07;过去 12 个月发布了 9 个版本。

版本发布日期距今
18.3.0latest2026/11/012 天前
18.2.22026/10/312 天前
18.2.12026/10/312 天前
18.2.02026/10/313 天前
18.1.32026/10/285 天前
18.1.22026/10/1617 天前

关于 @firestitch/grid 的常见问题

@firestitch/grid 是什么?

Angular 18中的虚拟滚动网格,可以显示枢轴(行级别、列级别和值),也可以显示源代码自己的行(详细信息),每个列标头都有排序和过滤器、可扩展的组、总行和列,以及停靠的布局面板

如何安装 @firestitch/grid?

在项目目录运行 npm install @firestitch/grid,或使用 pnpm add / yarn add / bun add。

@firestitch/grid 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@firestitch/grid 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@firestitch/grid 可以商用吗?

@firestitch/grid 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@firestitch/grid 还在维护吗?

最新版本 18.3.0 发布于 2026/11/01(2 天前);至今共发布 9 个版本,其中过去 12 个月发布了 9 个;首次发布于 2026/10/07。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。