@veltra/sheet 2.7.0 → 2.8.0

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.
@@ -57,6 +57,10 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
57
57
  colResize: {
58
58
  type: Boolean,
59
59
  default: false
60
+ },
61
+ scrollbar: {
62
+ type: Boolean,
63
+ default: true
60
64
  }
61
65
  },
62
66
  emits: ["active-sheet-change", "col-resize-end"],
@@ -72,6 +72,7 @@ function useSheetGrid(options) {
72
72
  header: props.header,
73
73
  editors: props.editors,
74
74
  colResize: props.colResize,
75
+ scrollbar: props.scrollbar,
75
76
  onContextMenu: handleContextMenu,
76
77
  onEditStart: (addr) => formulaBarRef.value?.mirrorGridEdit(addr),
77
78
  onEditEnd: (addr) => formulaBarRef.value?.exitMirror(addr),
@@ -185,7 +186,8 @@ function useSheetGrid(options) {
185
186
  props.showColHeader,
186
187
  props.header,
187
188
  props.editors,
188
- props.colResize
189
+ props.colResize,
190
+ props.scrollbar
189
191
  ], ([nextRows, nextCols]) => {
190
192
  const sheet = getActiveSheet();
191
193
  if (nextRows != null) sheet.ensureTableSize(nextRows, 0);
@@ -54,6 +54,11 @@ export interface SheetProps {
54
54
  * 关闭;缺省 false 行为不变。变化触发网格重建(构造期选项)
55
55
  */
56
56
  colResize?: boolean;
57
+ /**
58
+ * 画布滚动条(透传 SheetGrid → 引擎内建):内容溢出的轴在画布右/下缘绘制滚动条
59
+ * (可拖拽 / 点按跳转);缺省 true。变化触发网格重建(构造期选项)
60
+ */
61
+ scrollbar?: boolean;
57
62
  }
58
63
  export interface SheetEmits {
59
64
  /** 激活 sheet 切换(点击 tab 或宿主调用 workbook.activateSheet) */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veltra/sheet",
3
- "version": "2.7.0",
3
+ "version": "2.8.0",
4
4
  "homepage": "https://github.com/cabinet-fe/ultra-ui#readme",
5
5
  "bugs": {
6
6
  "url": "https://github.com/cabinet-fe/ultra-ui/issues"
@@ -34,7 +34,7 @@
34
34
  }
35
35
  },
36
36
  "dependencies": {
37
- "infinitable": "^0.1.0"
37
+ "infinitable": "^0.1.2"
38
38
  },
39
39
  "peerDependencies": {
40
40
  "@cat-kit/core": ">=1.2.1",
@@ -84,6 +84,19 @@ afterEach(() => {
84
84
  })
85
85
 
86
86
  describe('USheet 组件', () => {
87
+ it('scrollbar 透传引擎内建滚动条(缺省开启,false 关闭并触发重建)', async () => {
88
+ const exposedOn: { value: SheetExposed | undefined } = { value: undefined }
89
+ mount(() => ({}), exposedOn)
90
+ await nextTick()
91
+ // 引擎缺省 true(undefined 即开启),无需显式下发
92
+ expect(exposedOn.value!.getGrid()!.getTable().options.scrollbar).toBeUndefined()
93
+
94
+ const exposedOff: { value: SheetExposed | undefined } = { value: undefined }
95
+ mount(() => ({ scrollbar: false }), exposedOff)
96
+ await nextTick()
97
+ expect(exposedOff.value!.getGrid()!.getTable().options.scrollbar).toBe(false)
98
+ })
99
+
87
100
  it('挂载后默认选区 A1:名称框显示 A1、fx 输入栏可用', async () => {
88
101
  const workbook = createWorkbook()
89
102
  const { el } = mount(() => ({ workbook, rows: 10, cols: 6 }))
@@ -112,7 +112,8 @@ const props = withDefaults(defineProps<SheetProps>(), {
112
112
  showRowHeader: true,
113
113
  showColHeader: true,
114
114
  readonly: false,
115
- colResize: false
115
+ colResize: false,
116
+ scrollbar: true
116
117
  })
117
118
 
118
119
  const emit = defineEmits<SheetEmits>()
@@ -131,6 +131,7 @@ export function useSheetGrid(options: UseSheetGridOptions) {
131
131
  header: props.header,
132
132
  editors: props.editors,
133
133
  colResize: props.colResize,
134
+ scrollbar: props.scrollbar,
134
135
  onContextMenu: handleContextMenu,
135
136
  onEditStart: (addr) => formulaBarRef.value?.mirrorGridEdit(addr),
136
137
  onEditEnd: (addr) => formulaBarRef.value?.exitMirror(addr),
@@ -273,7 +274,8 @@ export function useSheetGrid(options: UseSheetGridOptions) {
273
274
  props.showColHeader,
274
275
  props.header,
275
276
  props.editors,
276
- props.colResize
277
+ props.colResize,
278
+ props.scrollbar
277
279
  ] as const,
278
280
  ([nextRows, nextCols]) => {
279
281
  const sheet = getActiveSheet()
@@ -62,6 +62,11 @@ export interface SheetProps {
62
62
  * 关闭;缺省 false 行为不变。变化触发网格重建(构造期选项)
63
63
  */
64
64
  colResize?: boolean
65
+ /**
66
+ * 画布滚动条(透传 SheetGrid → 引擎内建):内容溢出的轴在画布右/下缘绘制滚动条
67
+ * (可拖拽 / 点按跳转);缺省 true。变化触发网格重建(构造期选项)
68
+ */
69
+ scrollbar?: boolean
65
70
  }
66
71
 
67
72
  export interface SheetEmits {