@sl-material/sl-table-sheet 1.0.0-beta4 → 1.0.0-beta6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,8 +7,10 @@ import { ExcelParseOptions, ExcelParseResult, MultiSheetParseResult, SheetData }
7
7
  export interface SlTableSheetConfig extends Omit<TableSheetConfig, "container"> {
8
8
  container: HTMLElement | string;
9
9
  showToolbar?: boolean;
10
- /** 是否显示自定义 Sheet 标签页(用于多 Sheet Excel) */
11
- showSheetTabs?: boolean;
10
+ /** 是否显示自定义 Sheet 标签页(用于多 Sheet Excel),默认 true */
11
+ showTabs?: boolean;
12
+ /** 是否启用自动监听容器尺寸变化,默认 false */
13
+ autoResize?: boolean;
12
14
  toolbar?: Partial<ToolbarConfig>;
13
15
  onExport?: (format: "csv" | "excel") => void;
14
16
  onRefresh?: () => void;
@@ -64,6 +66,33 @@ export declare class SlTableSheet {
64
66
  * 冻结列
65
67
  */
66
68
  private freezeColumns;
69
+ /**
70
+ * 公开的冻结列方法
71
+ * @param colCount 要冻结的列数
72
+ */
73
+ setFrozenColCount(colCount: number): void;
74
+ /**
75
+ * 重新计算表格尺寸(容器大小变化时调用)
76
+ */
77
+ resize(): void;
78
+ /**
79
+ * 监听容器尺寸变化,自动调整表格大小
80
+ */
81
+ private resizeObserver;
82
+ private lastObservedWidth;
83
+ private lastObservedHeight;
84
+ /**
85
+ * 检查 ResizeObserver 兼容性
86
+ */
87
+ private isResizeObserverSupported;
88
+ /**
89
+ * 启用自动 resize(监听容器尺寸变化)
90
+ */
91
+ enableAutoResize(): boolean;
92
+ /**
93
+ * 禁用自动 resize
94
+ */
95
+ disableAutoResize(): void;
67
96
  /**
68
97
  * 注入样式
69
98
  */
@@ -53,8 +53,8 @@ export interface TableSheetConfig {
53
53
  records?: any[];
54
54
  /** 是否显示公式栏 */
55
55
  showFormulaBar?: boolean;
56
- /** 是否显示工作表标签 */
57
- showSheetTab?: boolean;
56
+ /** 是否显示工作表标签(VTable原生),默认 false */
57
+ showSheets?: boolean;
58
58
  /** 工作表配置 */
59
59
  sheets?: any[];
60
60
  /** 编辑器配置 */
@@ -92,6 +92,10 @@ export declare class TableSheet {
92
92
  private customComponentManager;
93
93
  private cellMarkManager;
94
94
  private eventManager;
95
+ private editorManager;
96
+ private lastWidth;
97
+ private lastHeight;
98
+ private resizeTimeout;
95
99
  constructor(config: TableSheetConfig, markedMap?: MarkedMap);
96
100
  /**
97
101
  * 初始化表格
@@ -157,6 +161,23 @@ export declare class TableSheet {
157
161
  * 刷新表格
158
162
  */
159
163
  refresh(): void;
164
+ /**
165
+ * 冻结列
166
+ * @param colCount 要冻结的列数
167
+ */
168
+ setFrozenColCount(colCount: number): void;
169
+ /**
170
+ * 重新计算表格尺寸(容器大小变化时调用)
171
+ */
172
+ resize(): void;
173
+ /**
174
+ * 防抖的 resize 方法(用于频繁触发的场景)
175
+ */
176
+ resizeDebounced(): void;
177
+ /**
178
+ * 强制重新渲染表格
179
+ */
180
+ private forceRerender;
160
181
  /**
161
182
  * 获取原始实例
162
183
  */
package/core/types.d.ts CHANGED
@@ -10,8 +10,8 @@ export interface TableSheetConfig {
10
10
  records?: any[];
11
11
  /** 是否显示公式栏 */
12
12
  showFormulaBar?: boolean;
13
- /** 是否显示工作表标签 */
14
- showSheetTab?: boolean;
13
+ /** 是否显示工作表标签(VTable原生),默认 false */
14
+ showSheets?: boolean;
15
15
  /** 工作表配置 */
16
16
  sheets?: SheetConfig[];
17
17
  /** 编辑器配置 */
@@ -32,7 +32,7 @@ export interface SheetConfig {
32
32
  columns: any[];
33
33
  data: any[];
34
34
  dragOrder?: {
35
- dragHeaderMode?: 'all' | 'column' | 'row';
35
+ dragHeaderMode?: "all" | "column" | "row";
36
36
  };
37
37
  [key: string]: any;
38
38
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sl-material/sl-table-sheet",
3
- "version": "1.0.0-beta4",
3
+ "version": "1.0.0-beta6",
4
4
  "description": "VTable 组件库 - 支持 npm 和 UMD",
5
5
  "main": "./sl-table-sheet.cjs.js",
6
6
  "module": "./sl-table-sheet.es.js",