@opensig/opendesign
Version:
105 lines (104 loc) • 2.89 kB
TypeScript
import { StyleValue, ExtractPropTypes, PropType } from 'vue';
export interface TableColumnT {
key: string;
label?: string;
style?: StyleValue;
}
export type TableRowT = {
key?: string | number;
/** 树形懒加载时指示本行是否有子节点 */
hasChildren?: boolean;
/** 子节点列表 */
children?: TableRowT[];
} & Record<string, unknown>;
export interface TableCellT {
value: unknown;
key: string | number;
colspan?: number;
rowspan?: number;
last?: boolean;
}
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: {
/**
* @zh-CN 表头数据
* @en-US Table header data
*/
readonly columns: {
readonly type: PropType<TableColumnT[] | string[]>;
};
/**
* @zh-CN 表格数据
* @en-US Table data
*/
readonly data: {
readonly type: PropType<TableRowT[]>;
};
/**
* @zh-CN 表格边框
* @en-US Table border
* @default 'row'
*/
readonly border: {
readonly type: PropType<TableBorderT>;
readonly default: "row";
};
/**
* @zh-CN 表格斑马纹,仅body中无纵向合并单元格时生效
* @en-US Table striping, taking effect only when there are no vertically merged cells in the table body.
* @since 1.2.0
*/
readonly stripe: {
readonly type: BooleanConstructor;
readonly default: false;
};
/**
* @zh-CN 是否使用小尺寸
* @en-US Use small size
*/
readonly small: {
readonly type: BooleanConstructor;
};
/**
* @zh-CN 单元格合并(不含表头)
* @en-US Cell merge (excluding header)
*/
readonly cellSpan: {
readonly type: PropType<CellSpanT>;
};
/**
* @zh-CN 空数据提示文本
* @en-US Empty data prompt text
*/
readonly emptyLabel: {
readonly type: StringConstructor;
};
/**
* @zh-CN 是否显示加载中状态
* @en-US Whether to show loading state
*/
readonly loading: {
readonly type: BooleanConstructor;
};
/**
* @zh-CN 加载中提示文本
* @en-US Loading prompt text
*/
readonly loadingLabel: {
readonly type: StringConstructor;
};
/**
* @zh-CN 是否高亮当前行
* @en-US Whether to highlight the current row
*/
readonly highlightCurrentRow: {
readonly type: BooleanConstructor;
readonly default: false;
};
};
export type TablePropsT = ExtractPropTypes<typeof tableProps>;