@opensig/opendesign
Version:
<p align="center"><img src="../docs/public/opendesign-logo-light.png"/></p> <h1 align="center">opendesign</h1> <p align="center">一个 Vue 3 组件库</p> <p align="center"><b>皮肤可定制,使用 TypeScript</b></p>
83 lines (82 loc) • 1.92 kB
TypeScript
import { StyleValue, ExtractPropTypes, PropType } from 'vue';
export interface TableColumnT {
key: string;
label?: string;
style?: StyleValue;
}
export interface TableRowT {
key?: string | number;
[key: string]: any;
}
export interface TableCellT {
value: any;
key: string | number;
colspan?: number;
rowspan?: number;
last?: boolean;
}
export type ColumnKeysT = Array<string>;
export type CellSpanT = (rowIndex: number, columnIndex: number, rowData?: TableRowT, column?: TableColumnT) => {
rowspan?: number;
colspan?: number;
} | undefined;
export declare const TableBorderTypes: readonly ["all", "row", "column", "frame", "row-column", "row-frame", "column-frame", "none"];
export type TableBorderT = (typeof TableBorderTypes)[number];
export declare const tableProps: {
/**
* 表头内容 TableColumnT[] | string[]
*/
columns: {
type: PropType<TableColumnT[] | string[]>;
};
/**
* 表头内容 ColumnKeysT
*/
columnKeys: {
type: PropType<ColumnKeysT>;
};
/**
* 表格数据 TableRowT[]
*/
data: {
type: PropType<TableRowT[]>;
};
/**
* 是否显示边框 TableBorderT
*/
border: {
type: PropType<TableBorderT>;
default: string;
};
/**
* 是否小表格
*/
small: {
type: BooleanConstructor;
};
/**
* 处理单元格合并(表体部分,不包含表头) CellSpanT
*/
cellSpan: {
type: PropType<CellSpanT>;
};
/**
* 空数据提示文本
*/
emptyLabel: {
type: StringConstructor;
};
/**
* 是否正在加载
*/
loading: {
type: BooleanConstructor;
};
/**
* 加载提示文本
*/
loadingLabel: {
type: StringConstructor;
};
};
export type TablePropsT = ExtractPropTypes<typeof tableProps>;