UNPKG

@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
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>;