New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@gmfe/table

Package Overview
Dependencies
Maintainers
1
Versions
262
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@gmfe/table

`@gmfe/table` 是基于 [react-table-v6](https://github.com/tannerlinsley/react-table/tree/v6/) 封装的高级表格组件包,提供丰富的表格功能扩展。包含基础表格、可编辑表格以及多个 HOC(高阶组件),支持选择、展开、固定列、排序、子表格、自定义列等功能。

latest
Source
npmnpm
Version
2.14.31
Version published
Weekly downloads
155
1309.09%
Maintainers
1
Weekly downloads
 
Created
Source

@gmfe/table

简介

@gmfe/table 是基于 react-table-v6 封装的高级表格组件包,提供丰富的表格功能扩展。包含基础表格、可编辑表格以及多个 HOC(高阶组件),支持选择、展开、固定列、排序、子表格、自定义列等功能。

注意: 此包基于 react-table v6,推荐使用 @gmfe/table-x(基于 react-table v7)。

安装

npm install @gmfe/table

使用

基础表格

import React from 'react'
import { Table } from '@gmfe/table'

const columns = [
  { Header: '名称', accessor: 'name' },
  { Header: '年龄', accessor: 'age' }
]

const data = [
  { name: '张三', age: 28 },
  { name: '李四', age: 32 }
]

function App() {
  return <Table data={data} columns={columns} />
}

带选择功能的表格

import React, { useState } from 'react'
import { selectTableV2HOC } from '@gmfe/table'

const SelectTable = selectTableV2HOC(Table)

function App() {
  const [selected, setSelected] = useState([])

  return (
    <SelectTable
      data={data}
      columns={columns}
      selected={selected}
      onSelect={(selected) => setSelected(selected)}
      onSelectAll={(selected) => setSelected(selected)}
    />
  )
}

组合多个 HOC

import { fixedColumnsTableHOC, selectTableV2HOC, expandTableHOC } from '@gmfe/table'

// HOC 可以组合使用
const EnhancedTable = fixedColumnsTableHOC(selectTableV2HOC(expandTableHOC(Table)))

API

Table

基础表格组件。

属性说明类型默认值必填
data表格数据array-
columns列定义array-
loading是否加载中booleanfalse
tiled是否平铺(不使用分页)booleanfalse
showPagination是否显示分页booleanfalse
defaultPageSize默认每页条数number-
className自定义类名string-
style自定义样式object-

EditTable

可编辑表格组件,继承 Table 的所有属性,添加 .gm-react-edit-table 样式类。

HOC 组件

fixedColumnsTableHOC(Table)

固定列表格 HOC。

  • 列定义中通过 fixed: 'left'fixed: 'right' 指定固定方向。
  • 固定列必须设置 width 属性。
  • 内部会重新排列列顺序:左固定 → 普通 → 右固定。

fixedFirstColumnsTableHOC(Table)

固定前几列表格 HOC。

selectTableV2HOC(Table)

选择功能表格 HOC。

额外属性说明类型默认值必填
selectType选择类型'checkbox' | 'radio''checkbox'
selected已选中项数组array-
onSelect单行选中回调function(selected: array)-
onSelectAll全选/取消全选回调function(selected: array)-
isSelectorDisable行选择禁用函数function(row): boolean-
keyField行唯一标识字段string'value'
batchActionBar自定义批量操作栏ReactElement-

expandTableHOC(Table)

展开行表格 HOC。

额外属性说明类型默认值必填
SubComponent展开内容渲染函数function(row)-
keyField行唯一标识字段string-
expanded展开行数组(受控模式)array-
onExpand展开/折叠回调function(expanded: array)-
showRowExpan是否显示展开图标function(original, index): boolean-
expandHeader是否显示全选展开booleantrue

subTableHOC(Table)

子表格 HOC,添加空白缩进列。

diyTableHOC(Table)

自定义列管理 HOC。

额外属性说明类型默认值必填
id唯一标识,用于保存列配置到 localStoragestring-
diyGroupSorting分组排序配置array-
  • 列定义中需要 diyGroupNameHeader(或 diyItemText)字段。

sortableTable

可拖拽排序表格 HOC,集成 SortableJS。

TableUtil

表格工具集。

属性/方法说明
OperationHeader操作列表头组件
OperationDelete删除操作组件
OperationDetail详情操作组件
OperationCell操作单元格组件
OperationRowEdit行编辑操作组件
OperationIconTip图标提示操作组件
SortHeader排序表头组件
EditTableOperation可编辑表格操作组件
EditContentInputNumber可编辑数字输入组件
EditContentInput可编辑文本输入组件
EditButton编辑按钮组件
BatchActionBar批量操作栏组件
referOfWidth列宽引用常量

示例

固定列 + 选择功能

import { fixedColumnsTableHOC, selectTableV2HOC } from '@gmfe/table'

const EnhancedTable = fixedColumnsTableHOC(selectTableV2HOC(Table))

const columns = [
  { Header: '名称', accessor: 'name', fixed: 'left', width: 200 },
  { Header: '描述', accessor: 'desc' },
  { Header: '操作', accessor: 'action', fixed: 'right', width: 150 }
]

注意事项

  • 此包基于 react-table v6,已标记为 deprecated,推荐使用 @gmfe/table-x
  • 空值单元格会自动显示 -
  • 可排序列表头会自动转换为 SortHeader 组件。
  • showPagination 默认为 false,需要分页时请手动开启或使用 @gmfe/business 的分页组件。
  • HOC 组合顺序有影响,建议先 selectTableV2HOCfixedColumnsTableHOC

FAQs

Package last updated on 03 Apr 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts