1.0.2 • Published 2 years ago
@table-merge/core v1.0.2
@table-merge/core
API
createTableMerge
根据表格数据创建包含 rowspan
以及 colspan
的虚拟表格。
Type:
function createTableMerge(data: TableData, options?: TableMergeOptions): CreateTableResult;
getTableMerged
根据虚拟表格获取可用的 rowspan
以及 colspan
数据。
Type:
function getTableMerged(table: CreateTableResult): number[][][] | null;
function getTableMerged(table: CreateTableResult, spanType: SpanTypes): number[][] | null;
Example
如下是 @table-merge/element-plus 的实现:
import { createTableMerge, getTableMerged } from '@table-merge/core';
import type { TableMergeOptions, TableMergeSpanTypes } from '@table-merge/core';
interface SpanMethodProps {
rowIndex: number;
columnIndex: number;
}
export interface TableMergeElementPlusOptions extends TableMergeOptions {
spanType?: TableMergeSpanTypes;
}
export default (data: any[], options?: TableMergeElementPlusOptions) => {
const { spanType = 'rowSpan', keys, range } = options || {};
const table = createTableMerge(data, { keys, range });
const merged = getTableMerged(table);
if (!merged) return;
return ({ rowIndex, columnIndex }: SpanMethodProps) => {
const cell = merged[rowIndex][columnIndex];
const result = {
rowspan: spanType === 'rowSpan' ? cell[0] : 1,
colspan: spanType === 'colSpan' ? cell[1] : 1
};
return result;
};
};
License
MIT
1.0.2
2 years ago
0.1.0
2 years ago
1.0.1
2 years ago
1.0.0
2 years ago
0.1.2
2 years ago
0.0.1-alpha.3
2 years ago
0.0.1-alpha.2
2 years ago
0.0.1-alpha.1
2 years ago
0.0.1-alpha.0
2 years ago
0.0.0
2 years ago