@ecl/table

中文文档
5.4.1发布于 2026/11/10EUPL-1.2ESM + CJS近 30 天下载 3600

ECL Table

原始使用文档

ECL Table component

npm package: @ecl/table

npm install --save @ecl/table

Parameters:

  • "color_mode" (string) (default: '') Name of the color mode
  • "id" (string) (default: random): unique id for the table; randomly generated if empty
  • "simple" (boolean) (default: false)
  • "zebra" (boolean) (default: false)
  • "sortable" (boolean) (default: false)
  • "filter" (boolean) (default: false)
  • "caption" (string) (default: ''): optional caption for the table
  • "label_sort_ascending" (string) (default: ''): label used for sorting ascending (screen reader only)
  • "label_sort_descending" (string) (default: ''): label used for sorting descending (screen reader only)
  • "label_sort_default" (string) (default: ''): label used for sorting default (screen reader only)
  • "label_filter" (string) (default: ''): label used for the column filter fields (screen reader only)
  • "headers" (array) (default: [])
    • "label" (string or array of string)
    • "colspan" (string) (default: ''),
    • "rowspan" (string) (default: ''),
    • "data-ecl-table-header-group" (string) (default: ''),
    • "headers" (string) (default: ''): headers attribute to reference the relevant table headers ids (for multi headers table)
  • "rows" (array) (default: []) Table rows; format:
    • "extra_classes" (string) (default: '') Extra classes for the row
    • "extra_attributes" (array) (default: []) Extra attributes for the row
    • "data" (array) Row cells:
      • "label" (string or array) Cell content
      • "data-ecl-table-header" (string) (default: '') Mobile header reference
      • "data-ecl-table-header-group" (string) (default: '') Mobile header group reference
      • "group" (boolean) (default: false) Mark as a grouped cell
      • "headers" (string) (default: '') headers attribute for multi-header tables
  • "extra_classes" (string) (default: '') Extra classes (space separated)
  • "extra_attributes" (array) (default: []) Extra attributes
    • "name" (string) Attribute name, eg. 'data-test'
    • "value" (string) Attribute value, eg: 'data-test-1'

Example:

{% include '@ecl/table/table.html.twig' with { 
  zebra: true, 
  headers: [ 
  [ 
    { label: 'Name' }, 
    { label: 'Registration date' }, 
    { label: 'Languages', colspan: '3' }, 
  ], 
  [ 
    { label: '' }, 
    { label: '' }, 
    { label: 'English' }, 
    { label: 'French' }, 
    { label: 'German' }, 
  ], 
  ], 
  rows: [ 
  [ 
    extra_classes: 'an-extra-class', 
    { label: 'John', 'data-ecl-table-header': 'Name' }, 
    { 
      label: 'September 14, 2013', 
      'data-ecl-table-header': 'Registration date', 
    }, 
    { 
      label: 'Yes', 
      'data-ecl-table-header': 'English', 
      'data-ecl-table-header-group': 'Language', 
      group: true, 
    }, 
    {
      label: 'No', 
      'data-ecl-table-header': 'French', 
      group: true, 
    }, 
    { 
      label: 'Yes', 
      'data-ecl-table-header': 'German', 
      group: true, 
    }, 
  ], 
  [ 
    extra_classes: 'an-extra-class', 
    extra_attributes: 'an-extra-attribute', 
    { label: 'Ron', 'data-ecl-table-header': 'Name' }, 
    { 
      label: 'October 23, 2014', 
      'data-ecl-table-header': 'Registration date', 
    },
    {
      label: 'Yes', 
      'data-ecl-table-header': 'English',
      'data-ecl-table-header-group': 'Language', 
      group: true, 
    }, 
    { 
      label: 'Yes', 
      'data-ecl-table-header': 'French', 
      group: true, 
    },
    {
      label: 'Yes',
      'data-ecl-table-header': 'German', 
      group: true, 
    }, 
  ], 
  [ 
    { label: 'Albert', 'data-ecl-table-header': 'Name' }, 
    {
      label: 'December 13, 2014', 
      'data-ecl-table-header': 'Registration date', 
    }, 
    { 
      label: 'No', 
      'data-ecl-table-header': 'English', 
      'data-ecl-table-header-group': 'Language', 
      group: true, 
    }, 
    { 
      label: 'No', 
      'data-ecl-table-header': 'French', 
      group: true, 
    }, 
    { 
      label: 'Yes', 
      'data-ecl-table-header': 'German', 
      group: true, 
    }, 
  ], 
  [ 
    { label: 'Marcel', 'data-ecl-table-header': 'Name' }, 
    { 
      label: 'January 12, 1995', 
      'data-ecl-table-header': 'Registration date', 
    }, 
    { 
      label: 'Yes', 
      'data-ecl-table-header': 'English', 
      'data-ecl-table-header-group': 'Language', 
      group: true, 
    }, 
    { 
      label: 'Yes', 
      'data-ecl-table-header': 'French', 
      group: true, 
    }, 
    { 
      label: 'Yes', 
      'data-ecl-table-header': 'German', 
      group: true, 
    }, 
  ], 
  ], 
  extra_classes: 'my-extra-class-1 my-extra-class-2', 
  extra_attributes: [ 
    { name: 'data-test-1', value: 'data-test-value-1' }, 
    { name: 'data-test-2', value: 'data-test-value-2' } 
  ] 
} %} 

版本与发布记录

@ecl/table 共发布 45 个版本,首次发布于 2025/01/22;过去 12 个月发布了 24 个版本。

版本发布日期距今
5.4.1latest2026/11/103 天前
5.4.02026/10/2222 天前
5.3.22026/10/081 个月前
5.3.12026/09/211 个月前
5.3.02026/09/151 个月前
5.2.22026/09/082 个月前

关于 @ecl/table 的常见问题

@ecl/table 是什么?

ECL Table

如何安装 @ecl/table?

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

@ecl/table 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/ecl__table 是否存在。

@ecl/table 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@ecl/table 可以商用吗?

@ecl/table 使用 EUPL-1.2 许可。声明的许可为 EUPL-1.2,请阅读许可原文确认使用条件。以上为概括,不构成法律意见,请以许可原文为准。

@ecl/table 的下载量有多少?

根据 npm 官方下载统计,@ecl/table 在 2026/10/13 – 2026/11/11 这 30 天内被下载 3,600 次,日均约 120 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@ecl/table 还在维护吗?

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