@beppla/tapas-ui 1.0.55 → 1.0.56

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.
@@ -9,10 +9,12 @@ const globalDropdownState: {
9
9
  activeColumn: number | null;
10
10
  activeRow: number | null;
11
11
  closeAll: () => void;
12
+ onDropdownStateChange?: (columnIndex: number | null, rowIndex: number | null) => void;
12
13
  } = {
13
14
  activeColumn: null,
14
15
  activeRow: null,
15
16
  closeAll: () => {},
17
+ onDropdownStateChange: undefined,
16
18
  };
17
19
 
18
20
  // 注册和注销下拉菜单的函数
@@ -20,12 +22,16 @@ const registerDropdown = (columnIndex: number, rowIndex: number, closeCallback:
20
22
  globalDropdownState.activeColumn = columnIndex;
21
23
  globalDropdownState.activeRow = rowIndex;
22
24
  globalDropdownState.closeAll = closeCallback;
25
+ // 通知状态变化
26
+ globalDropdownState.onDropdownStateChange?.(columnIndex, rowIndex);
23
27
  };
24
28
 
25
29
  const unregisterDropdown = () => {
26
30
  globalDropdownState.activeColumn = null;
27
31
  globalDropdownState.activeRow = null;
28
32
  globalDropdownState.closeAll = () => {};
33
+ // 通知状态变化
34
+ globalDropdownState.onDropdownStateChange?.(null, null);
29
35
  };
30
36
 
31
37
  const closeAllDropdowns = () => {
@@ -34,6 +40,11 @@ const closeAllDropdowns = () => {
34
40
  }
35
41
  };
36
42
 
43
+ // 设置下拉菜单状态变化监听器
44
+ const setDropdownStateChangeListener = (callback: (columnIndex: number | null, rowIndex: number | null) => void) => {
45
+ globalDropdownState.onDropdownStateChange = callback;
46
+ };
47
+
37
48
  export type DataType =
38
49
  | "text"
39
50
  | "number"
@@ -120,6 +131,14 @@ export interface TapasDataCellProps extends ViewProps {
120
131
  minHeight?: number;
121
132
  /** 是否为空白单元格 */
122
133
  isBlank?: boolean;
134
+ /** 下拉菜单状态变化回调 */
135
+ onDropdownStateChange?: (isOpen: boolean) => void;
136
+ /** Grid 相关信息,用于计算下拉菜单位置 */
137
+ gridInfo?: {
138
+ totalRows?: number;
139
+ rowHeight?: number;
140
+ gridHeight?: number;
141
+ };
123
142
  }
124
143
 
125
144
  const TapasDataCell: React.FC<TapasDataCellProps> = ({
@@ -152,6 +171,8 @@ const TapasDataCell: React.FC<TapasDataCellProps> = ({
152
171
  disabled = false,
153
172
  minHeight = 40,
154
173
  isBlank = false,
174
+ onDropdownStateChange,
175
+ gridInfo,
155
176
  style,
156
177
  ...otherProps
157
178
  }) => {
@@ -254,6 +275,73 @@ const TapasDataCell: React.FC<TapasDataCellProps> = ({
254
275
  // 下拉菜单状态
255
276
  const [dropdownVisible, setDropdownVisible] = useState(false);
256
277
  const [dropdownPosition, setDropdownPosition] = useState({ top: 32, right: 0 });
278
+
279
+ // 计算下拉菜单的最佳位置
280
+ const calculateDropdownPosition = useCallback(() => {
281
+ // 更准确地计算下拉菜单的实际高度
282
+ const itemHeight = 32; // 每个选项的高度
283
+ const borderWidth = 2; // 边框宽度
284
+ const padding = 8; // 内边距
285
+ const shadowHeight = 4; // 阴影高度
286
+
287
+ // 考虑文本长度对高度的影响
288
+ const maxTextLength = Math.max(...actions.map(action => action.label.length));
289
+ const textHeightAdjustment = maxTextLength > 10 ? 4 : 0; // 长文本可能需要更多高度
290
+
291
+ // 计算下拉菜单的宽度(考虑文本长度)
292
+ // const minWidth = 120; // 最小宽度
293
+ // const textWidth = maxTextLength * 8; // 估算文本宽度
294
+ // const _actualWidth = Math.max(minWidth, textWidth + 24); // 24px 为内边距和图标空间
295
+
296
+ const actualHeight = actions.length * itemHeight + borderWidth + padding + shadowHeight + textHeightAdjustment;
297
+
298
+ const buttonHeight = 32; // 按钮高度
299
+ const cellHeight = gridInfo?.rowHeight || 56; // 使用传入的 rowHeight 或默认值
300
+ const gridHeight = gridInfo?.gridHeight || 400; // 使用传入的 gridHeight 或默认值
301
+
302
+ // 根据行索引估算当前单元格在 Grid 中的位置
303
+ const currentRowIndex = rowIndex || 0;
304
+
305
+ // 计算当前单元格距离 Grid 底部的距离
306
+ const currentCellBottom = (currentRowIndex + 1) * cellHeight;
307
+ const spaceBelow = gridHeight - currentCellBottom;
308
+
309
+ // 计算上方可用空间
310
+ const currentCellTop = currentRowIndex * cellHeight;
311
+ const spaceAbove = currentCellTop;
312
+
313
+ // 添加安全边距,确保下拉菜单不会紧贴边界
314
+ const safetyMargin = 8;
315
+ const requiredSpace = actualHeight + safetyMargin;
316
+
317
+ // 智能选择显示位置
318
+ if (requiredSpace > spaceBelow && requiredSpace <= spaceAbove) {
319
+ // 下方空间不够,但上方空间足够,显示在上方
320
+ return {
321
+ top: -actualHeight - 4, // 按钮上方,留 4px 间距
322
+ right: 0,
323
+ };
324
+ } else if (requiredSpace > spaceBelow && requiredSpace > spaceAbove) {
325
+ // 上下空间都不够,选择空间较大的一侧
326
+ if (spaceAbove > spaceBelow) {
327
+ return {
328
+ top: -actualHeight - 4, // 按钮上方
329
+ right: 0,
330
+ };
331
+ } else {
332
+ return {
333
+ top: buttonHeight + 4, // 按钮下方
334
+ right: 0,
335
+ };
336
+ }
337
+ } else {
338
+ // 下方空间足够,显示在下方
339
+ return {
340
+ top: buttonHeight + 4, // 按钮下方,留 4px 间距
341
+ right: 0,
342
+ };
343
+ }
344
+ }, [actions.length, rowIndex, gridInfo]);
257
345
 
258
346
  // 全局下拉菜单管理
259
347
  useEffect(() => {
@@ -275,8 +363,20 @@ const TapasDataCell: React.FC<TapasDataCellProps> = ({
275
363
  };
276
364
  }, [dropdownVisible, columnIndex, rowIndex]);
277
365
 
366
+ // 通知父组件下拉菜单状态变化
367
+ useEffect(() => {
368
+ onDropdownStateChange?.(dropdownVisible);
369
+ }, [dropdownVisible, onDropdownStateChange]);
370
+
278
371
  // 监听全局关闭事件
279
372
  useEffect(() => {
373
+ // const _handleGlobalClose = () => {
374
+ // if (globalDropdownState.activeColumn !== columnIndex ||
375
+ // globalDropdownState.activeRow !== rowIndex) {
376
+ // setDropdownVisible(false);
377
+ // }
378
+ // };
379
+
280
380
  // 这里可以添加全局事件监听器
281
381
  // 为了简化,我们在点击其他单元格时关闭当前下拉菜单
282
382
  }, [columnIndex, rowIndex]);
@@ -323,26 +423,34 @@ const TapasDataCell: React.FC<TapasDataCellProps> = ({
323
423
 
324
424
  // 多个操作显示下拉菜单
325
425
  return (
326
- <View style={styles.dropdownContainer}>
426
+ <View style={[
427
+ styles.dropdownContainer,
428
+ {
429
+ // 只有当前激活的下拉菜单容器才有高 z-index
430
+ zIndex: globalDropdownState.activeColumn === columnIndex && globalDropdownState.activeRow === rowIndex ? 2147483646 : 1,
431
+ }
432
+ ]}>
327
433
  <Pressable
328
434
  style={styles.actionButton}
329
435
  onPress={(event) => {
330
436
  // 阻止事件冒泡,避免触发外层的 attachCellPress
331
437
  event.stopPropagation();
332
438
 
333
- // 关闭其他所有下拉菜单
334
- closeAllDropdowns();
335
-
336
- if (!dropdownVisible) {
337
- // 在 React Native 中,我们使用相对定位
338
- // 由于 Grid 的 overflow: hidden 限制,我们使用更高的 z-index 和绝对定位
339
- setDropdownPosition({
340
- top: 32, // 按钮下方 32px
341
- right: 0, // 从右边缘对齐
342
- });
439
+ if (dropdownVisible) {
440
+ // 如果当前下拉菜单已经打开,直接关闭
441
+ setDropdownVisible(false);
442
+ } else {
443
+ // 如果当前下拉菜单关闭,先关闭其他所有下拉菜单,然后打开当前菜单
444
+ closeAllDropdowns();
445
+
446
+ // 计算并设置下拉菜单位置
447
+ setDropdownPosition(calculateDropdownPosition());
448
+
449
+ // 延迟打开当前下拉菜单,确保其他菜单已关闭
450
+ setTimeout(() => {
451
+ setDropdownVisible(true);
452
+ }, 0);
343
453
  }
344
-
345
- setDropdownVisible(!dropdownVisible);
346
454
  }}
347
455
  disabled={disabled}
348
456
  >
@@ -509,7 +617,10 @@ const useStyles = makeStyles((theme, props?: {
509
617
  },
510
618
  dropdownContainer: {
511
619
  position: "relative",
512
- zIndex: 99999, // 更高的 z-index,确保容器也在最上层
620
+ // 默认使用较低的 z-index,只有激活的下拉菜单容器才有高 z-index
621
+ zIndex: 1,
622
+ // 确保容器本身不会创建新的 stacking context
623
+ isolation: "auto",
513
624
  },
514
625
  dropdownMenu: {
515
626
  position: "absolute", // 使用绝对定位
@@ -526,9 +637,11 @@ const useStyles = makeStyles((theme, props?: {
526
637
  shadowRadius: 3.84,
527
638
  elevation: 5,
528
639
  minWidth: 120,
529
- zIndex: 99999, // 更高的 z-index,确保显示在所有元素之上
640
+ zIndex: 2147483647, // 更高的 z-index,确保显示在所有元素之上
530
641
  // 确保下拉菜单不被父容器的 overflow 隐藏
531
642
  overflow: "visible",
643
+ // 确保下拉菜单在正确的层级上
644
+ isolation: "isolate",
532
645
  },
533
646
  dropdownItem: {
534
647
  paddingHorizontal: 12,
@@ -554,4 +667,4 @@ export default withTheme(TapasDataCell);
554
667
 
555
668
  // Export aliases for compatibility
556
669
  export const DataCell = withTheme(TapasDataCell);
557
- export { TapasDataCell };
670
+ export { TapasDataCell, setDropdownStateChangeListener };
@@ -58,6 +58,7 @@ const ItemWrapper: React.FC<any> = ({ data, columnIndex, rowIndex, style }) => {
58
58
  columnHeaderHeight,
59
59
  border,
60
60
  theme,
61
+ hasActions,
61
62
  } = data;
62
63
 
63
64
  if (
@@ -68,13 +69,17 @@ const ItemWrapper: React.FC<any> = ({ data, columnIndex, rowIndex, style }) => {
68
69
  return null;
69
70
  }
70
71
 
72
+ // 检测当前列是否有 actions 按钮
73
+ const shouldShowActions = hasActions && hasActions(columnIndex ?? 0, rowIndex ?? 0);
74
+
71
75
  // 确保传递正确的参数给children函数
72
76
  const childrenProps: ChildrenProps = {
73
77
  columnIndex: columnIndex ?? 0,
74
78
  rowIndex: rowIndex ?? 0,
75
79
  style: {
76
80
  ...style,
77
- overflow: "visible",
81
+ // 根据 hasActions 决定是否允许 overflow: "visible"
82
+ overflow: shouldShowActions ? "visible" : "hidden",
78
83
  borderBottom: border
79
84
  ? `1px solid ${theme.grey3 ?? "rgba(0, 0, 0, 0.12)"}`
80
85
  : "none",
@@ -210,6 +215,7 @@ const InnerElementType = forwardRef(
210
215
  columnHeaderHeight,
211
216
  }}
212
217
  style={{
218
+ // 保持列头的 overflow: "hidden" 以确保正确的滚动行为
213
219
  overflow: "hidden",
214
220
  // borderTopLeftRadius: theme?.radius?.mini ?? 4,
215
221
  backgroundColor:
@@ -223,7 +229,11 @@ const InnerElementType = forwardRef(
223
229
  )}
224
230
  <div ref={ref} {...rest} style={{
225
231
  ...style,
226
- width: rest.width - stickyColumnsWidth // 使用正确的 grid 宽度减去 sticky 列宽度
232
+ width: totalWidth,
233
+ // width: rest.width, // 使用正确的 grid 宽度减去 sticky 列宽度
234
+ // width: rest.width - stickyColumnsWidth, // 使用正确的 grid 宽度减去 sticky 列宽度
235
+ // position: "sticky", // 固定容器位置,不随滚动移动
236
+ // left: 0, // 固定在左侧
227
237
  }}>
228
238
  {scrollLeft > 0 && (
229
239
  <StickyColumn
@@ -231,7 +241,7 @@ const InnerElementType = forwardRef(
231
241
  backgroundColor: theme?.background ?? "#F9F2E8",
232
242
  zIndex: 5,
233
243
  top: 0,
234
- width: stickyColumnsWidth,
244
+ width: 1, // 左侧阴影条宽度应该是 1
235
245
  height: height,
236
246
  left: 0,
237
247
  marginTop: headersRender ? -1 * (columnHeaderHeight || 40) : 0,
@@ -268,7 +278,7 @@ const InnerElementType = forwardRef(
268
278
  top: 0,
269
279
  width: stickyColumnsWidth,
270
280
  height: columnHeaderHeight || 40,
271
- left: width - stickyColumnsWidth - (border ? 1 : 0),
281
+ left: width - stickyColumnsWidth - (border ? 1 : 0), // 使用总宽度计算位置
272
282
  marginTop:
273
283
  scrollLeft === 0
274
284
  ? -1 * (columnHeaderHeight || 40)
@@ -278,7 +288,6 @@ const InnerElementType = forwardRef(
278
288
  borderLeft: border
279
289
  ? `1px solid ${theme?.grey3 ?? "rgba(0, 0, 0, 0.12)"}`
280
290
  : "none",
281
- // borderTopRightRadius: theme?.radius?.mini ?? 4,
282
291
  }}
283
292
  >
284
293
  <VariableSizeGrid
@@ -292,8 +301,7 @@ const InnerElementType = forwardRef(
292
301
  width={stickyColumnsWidth}
293
302
  itemData={{ ItemRenderer: headersRender, stickyColumnIndices }}
294
303
  style={{
295
- overflow: "visible",
296
- // borderTopRightRadius: theme?.radius?.mini ?? 4,
304
+ overflow: "hidden",
297
305
  backgroundColor:
298
306
  columnHeaderBackgroundColor ||
299
307
  (theme?.colors?.grey4 ?? "rgba(0, 0, 0, 0.08)"),
@@ -309,7 +317,7 @@ const InnerElementType = forwardRef(
309
317
  backgroundColor: theme?.background ?? "#F9F2E8",
310
318
  zIndex: 2,
311
319
  top: headersRender ? columnHeaderHeight || 40 : 0,
312
- left: `calc(100% - ${stickyColumnsWidth + (border ? 1 : 0)}px)`,
320
+ left: width - stickyColumnsWidth - (border ? 1 : 0), // 使用总宽度计算位置
313
321
  width: stickyColumnsWidth,
314
322
  height: "100%",
315
323
  position: "sticky",
@@ -329,7 +337,9 @@ const InnerElementType = forwardRef(
329
337
  rowHeight={rowHeight}
330
338
  width={stickyColumnsWidth}
331
339
  itemData={{ ItemRenderer, stickyColumnIndices, border, hasActions: hasActionsFn }}
332
- style={{ overflow: "visible" }}
340
+ style={{
341
+ overflow: hasActions ? "visible": "hidden"
342
+ }}
333
343
  >
334
344
  {StickyColumnCell}
335
345
  </VariableSizeGrid>
@@ -433,7 +443,8 @@ const StickyList = ({
433
443
  : rest.theme.radius.mini ?? 4,
434
444
  scrollbarWidth: "none",
435
445
  msOverflowStyle: "none",
436
- overflow: "visible", // 允许下拉菜单显示
446
+ // 移除 overflow: "visible",恢复 Grid 的正常滚动功能
447
+ // Modal 下拉菜单不需要这个设置
437
448
  }}
438
449
  itemData={{
439
450
  ItemRenderer: children,
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.TapasDataCell = exports.DataCell = void 0;
6
+ exports.setDropdownStateChangeListener = exports.default = exports.TapasDataCell = exports.DataCell = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _themed = require("@rneui/themed");
@@ -18,7 +18,8 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
18
18
  const globalDropdownState = {
19
19
  activeColumn: null,
20
20
  activeRow: null,
21
- closeAll: () => {}
21
+ closeAll: () => {},
22
+ onDropdownStateChange: undefined
22
23
  };
23
24
 
24
25
  // 注册和注销下拉菜单的函数
@@ -26,17 +27,27 @@ const registerDropdown = (columnIndex, rowIndex, closeCallback) => {
26
27
  globalDropdownState.activeColumn = columnIndex;
27
28
  globalDropdownState.activeRow = rowIndex;
28
29
  globalDropdownState.closeAll = closeCallback;
30
+ // 通知状态变化
31
+ globalDropdownState.onDropdownStateChange?.(columnIndex, rowIndex);
29
32
  };
30
33
  const unregisterDropdown = () => {
31
34
  globalDropdownState.activeColumn = null;
32
35
  globalDropdownState.activeRow = null;
33
36
  globalDropdownState.closeAll = () => {};
37
+ // 通知状态变化
38
+ globalDropdownState.onDropdownStateChange?.(null, null);
34
39
  };
35
40
  const closeAllDropdowns = () => {
36
41
  if (globalDropdownState.closeAll) {
37
42
  globalDropdownState.closeAll();
38
43
  }
39
44
  };
45
+
46
+ // 设置下拉菜单状态变化监听器
47
+ const setDropdownStateChangeListener = callback => {
48
+ globalDropdownState.onDropdownStateChange = callback;
49
+ };
50
+ exports.setDropdownStateChangeListener = setDropdownStateChangeListener;
40
51
  const TapasDataCell = ({
41
52
  value,
42
53
  dataType = "text",
@@ -70,6 +81,8 @@ const TapasDataCell = ({
70
81
  disabled = false,
71
82
  minHeight = 40,
72
83
  isBlank = false,
84
+ onDropdownStateChange,
85
+ gridInfo,
73
86
  style,
74
87
  ...otherProps
75
88
  }) => {
@@ -171,6 +184,76 @@ const TapasDataCell = ({
171
184
  right: 0
172
185
  });
173
186
 
187
+ // 计算下拉菜单的最佳位置
188
+ const calculateDropdownPosition = (0, _react.useCallback)(() => {
189
+ // 更准确地计算下拉菜单的实际高度
190
+ const itemHeight = 32; // 每个选项的高度
191
+ const borderWidth = 2; // 边框宽度
192
+ const padding = 8; // 内边距
193
+ const shadowHeight = 4; // 阴影高度
194
+
195
+ // 考虑文本长度对高度的影响
196
+ const maxTextLength = Math.max(...actions.map(action => action.label.length));
197
+ const textHeightAdjustment = maxTextLength > 10 ? 4 : 0; // 长文本可能需要更多高度
198
+
199
+ // 计算下拉菜单的宽度(考虑文本长度)
200
+ // const minWidth = 120; // 最小宽度
201
+ // const textWidth = maxTextLength * 8; // 估算文本宽度
202
+ // const _actualWidth = Math.max(minWidth, textWidth + 24); // 24px 为内边距和图标空间
203
+
204
+ const actualHeight = actions.length * itemHeight + borderWidth + padding + shadowHeight + textHeightAdjustment;
205
+ const buttonHeight = 32; // 按钮高度
206
+ const cellHeight = gridInfo?.rowHeight || 56; // 使用传入的 rowHeight 或默认值
207
+ const gridHeight = gridInfo?.gridHeight || 400; // 使用传入的 gridHeight 或默认值
208
+
209
+ // 根据行索引估算当前单元格在 Grid 中的位置
210
+ const currentRowIndex = rowIndex || 0;
211
+
212
+ // 计算当前单元格距离 Grid 底部的距离
213
+ const currentCellBottom = (currentRowIndex + 1) * cellHeight;
214
+ const spaceBelow = gridHeight - currentCellBottom;
215
+
216
+ // 计算上方可用空间
217
+ const currentCellTop = currentRowIndex * cellHeight;
218
+ const spaceAbove = currentCellTop;
219
+
220
+ // 添加安全边距,确保下拉菜单不会紧贴边界
221
+ const safetyMargin = 8;
222
+ const requiredSpace = actualHeight + safetyMargin;
223
+
224
+ // 智能选择显示位置
225
+ if (requiredSpace > spaceBelow && requiredSpace <= spaceAbove) {
226
+ // 下方空间不够,但上方空间足够,显示在上方
227
+ return {
228
+ top: -actualHeight - 4,
229
+ // 按钮上方,留 4px 间距
230
+ right: 0
231
+ };
232
+ } else if (requiredSpace > spaceBelow && requiredSpace > spaceAbove) {
233
+ // 上下空间都不够,选择空间较大的一侧
234
+ if (spaceAbove > spaceBelow) {
235
+ return {
236
+ top: -actualHeight - 4,
237
+ // 按钮上方
238
+ right: 0
239
+ };
240
+ } else {
241
+ return {
242
+ top: buttonHeight + 4,
243
+ // 按钮下方
244
+ right: 0
245
+ };
246
+ }
247
+ } else {
248
+ // 下方空间足够,显示在下方
249
+ return {
250
+ top: buttonHeight + 4,
251
+ // 按钮下方,留 4px 间距
252
+ right: 0
253
+ };
254
+ }
255
+ }, [actions.length, rowIndex, gridInfo]);
256
+
174
257
  // 全局下拉菜单管理
175
258
  (0, _react.useEffect)(() => {
176
259
  const closeDropdown = () => {
@@ -191,8 +274,20 @@ const TapasDataCell = ({
191
274
  };
192
275
  }, [dropdownVisible, columnIndex, rowIndex]);
193
276
 
277
+ // 通知父组件下拉菜单状态变化
278
+ (0, _react.useEffect)(() => {
279
+ onDropdownStateChange?.(dropdownVisible);
280
+ }, [dropdownVisible, onDropdownStateChange]);
281
+
194
282
  // 监听全局关闭事件
195
283
  (0, _react.useEffect)(() => {
284
+ // const _handleGlobalClose = () => {
285
+ // if (globalDropdownState.activeColumn !== columnIndex ||
286
+ // globalDropdownState.activeRow !== rowIndex) {
287
+ // setDropdownVisible(false);
288
+ // }
289
+ // };
290
+
196
291
  // 这里可以添加全局事件监听器
197
292
  // 为了简化,我们在点击其他单元格时关闭当前下拉菜单
198
293
  }, [columnIndex, rowIndex]);
@@ -234,25 +329,30 @@ const TapasDataCell = ({
234
329
 
235
330
  // 多个操作显示下拉菜单
236
331
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
237
- style: styles.dropdownContainer
332
+ style: [styles.dropdownContainer, {
333
+ // 只有当前激活的下拉菜单容器才有高 z-index
334
+ zIndex: globalDropdownState.activeColumn === columnIndex && globalDropdownState.activeRow === rowIndex ? 2147483646 : 1
335
+ }]
238
336
  }, /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
239
337
  style: styles.actionButton,
240
338
  onPress: event => {
241
339
  // 阻止事件冒泡,避免触发外层的 attachCellPress
242
340
  event.stopPropagation();
341
+ if (dropdownVisible) {
342
+ // 如果当前下拉菜单已经打开,直接关闭
343
+ setDropdownVisible(false);
344
+ } else {
345
+ // 如果当前下拉菜单关闭,先关闭其他所有下拉菜单,然后打开当前菜单
346
+ closeAllDropdowns();
243
347
 
244
- // 关闭其他所有下拉菜单
245
- closeAllDropdowns();
246
- if (!dropdownVisible) {
247
- // 在 React Native 中,我们使用相对定位
248
- // 由于 Grid 的 overflow: hidden 限制,我们使用更高的 z-index 和绝对定位
249
- setDropdownPosition({
250
- top: 32,
251
- // 按钮下方 32px
252
- right: 0 // 从右边缘对齐
253
- });
348
+ // 计算并设置下拉菜单位置
349
+ setDropdownPosition(calculateDropdownPosition());
350
+
351
+ // 延迟打开当前下拉菜单,确保其他菜单已关闭
352
+ setTimeout(() => {
353
+ setDropdownVisible(true);
354
+ }, 0);
254
355
  }
255
- setDropdownVisible(!dropdownVisible);
256
356
  },
257
357
  disabled: disabled
258
358
  }, /*#__PURE__*/_react.default.createElement(_TapasIcon.default, {
@@ -373,7 +473,10 @@ const useStyles = (0, _themed.makeStyles)((theme, props) => {
373
473
  },
374
474
  dropdownContainer: {
375
475
  position: "relative",
376
- zIndex: 99999 // 更高的 z-index,确保容器也在最上层
476
+ // 默认使用较低的 z-index,只有激活的下拉菜单容器才有高 z-index
477
+ zIndex: 1,
478
+ // 确保容器本身不会创建新的 stacking context
479
+ isolation: "auto"
377
480
  },
378
481
  dropdownMenu: {
379
482
  position: "absolute",
@@ -391,10 +494,12 @@ const useStyles = (0, _themed.makeStyles)((theme, props) => {
391
494
  shadowRadius: 3.84,
392
495
  elevation: 5,
393
496
  minWidth: 120,
394
- zIndex: 99999,
497
+ zIndex: 2147483647,
395
498
  // 更高的 z-index,确保显示在所有元素之上
396
499
  // 确保下拉菜单不被父容器的 overflow 隐藏
397
- overflow: "visible"
500
+ overflow: "visible",
501
+ // 确保下拉菜单在正确的层级上
502
+ isolation: "isolate"
398
503
  },
399
504
  dropdownItem: {
400
505
  paddingHorizontal: 12,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_themed","_TapasIcon","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","globalDropdownState","activeColumn","activeRow","closeAll","registerDropdown","columnIndex","rowIndex","closeCallback","unregisterDropdown","closeAllDropdowns","TapasDataCell","value","dataType","alignment","fieldName","clickable","ellipsizeMode","numberOfLines","textStyle","padding","horizontal","vertical","statusConfig","actions","showActions","actionIcon","formatter","currencySymbol","currencyPrecision","dateFormat","booleanTrueText","booleanFalseText","emptyText","onCellPress","onActionPress","attachMoreAction","onLongPress","disabled","minHeight","isBlank","style","otherProps","styles","useStyles","formattedValue","useMemo","undefined","toLocaleString","String","numValue","parseFloat","isNaN","toFixed","date","Date","getTime","toISOString","split","getMonth","toString","padStart","getDate","getFullYear","toLocaleDateString","getStatusStyle","useCallback","config","color","backgroundColor","borderColor","borderWidth","borderRadius","paddingHorizontal","paddingVertical","overflow","handleCellPress","handleLongPress","handleActionPress","action","dropdownVisible","setDropdownVisible","useState","dropdownPosition","setDropdownPosition","top","right","useEffect","closeDropdown","renderActions","hasTextContent","trim","buttonStyle","actionButton","marginLeft","createElement","Pressable","onPress","event","stopPropagation","name","icon","size","View","dropdownContainer","dropdownMenu","map","index","key","id","dropdownItem","dropdownItemLast","Text","dropdownItemText","dropdownItemDisabled","label","renderContent","statusStyle","hasStatusStyle","keys","content","text","container","exports","makeStyles","theme","props","justifyContent","colors","grey5","opacity","borderBottomWidth","borderBottomColor","display","flexDirection","alignItems","width","height","flex","fontSize","fonts","sizeM","fontWeight","colorTextPrimary","grey1","textAlign","alignSelf","minWidth","grey2","position","zIndex","background","grey4","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","grey3","_default","withTheme","DataCell"],"sourceRoot":"../../../components","sources":["DataCell/DataCell.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_themed","_TapasIcon","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","globalDropdownState","activeColumn","activeRow","closeAll","onDropdownStateChange","undefined","registerDropdown","columnIndex","rowIndex","closeCallback","unregisterDropdown","closeAllDropdowns","setDropdownStateChangeListener","callback","exports","TapasDataCell","value","dataType","alignment","fieldName","clickable","ellipsizeMode","numberOfLines","textStyle","padding","horizontal","vertical","statusConfig","actions","showActions","actionIcon","formatter","currencySymbol","currencyPrecision","dateFormat","booleanTrueText","booleanFalseText","emptyText","onCellPress","onActionPress","attachMoreAction","onLongPress","disabled","minHeight","isBlank","gridInfo","style","otherProps","styles","useStyles","formattedValue","useMemo","toLocaleString","String","numValue","parseFloat","isNaN","toFixed","date","Date","getTime","toISOString","split","getMonth","toString","padStart","getDate","getFullYear","toLocaleDateString","getStatusStyle","useCallback","config","color","backgroundColor","borderColor","borderWidth","borderRadius","paddingHorizontal","paddingVertical","overflow","handleCellPress","handleLongPress","handleActionPress","action","dropdownVisible","setDropdownVisible","useState","dropdownPosition","setDropdownPosition","top","right","calculateDropdownPosition","itemHeight","shadowHeight","maxTextLength","Math","max","map","label","textHeightAdjustment","actualHeight","buttonHeight","cellHeight","rowHeight","gridHeight","currentRowIndex","currentCellBottom","spaceBelow","currentCellTop","spaceAbove","safetyMargin","requiredSpace","useEffect","closeDropdown","renderActions","hasTextContent","trim","buttonStyle","actionButton","marginLeft","createElement","Pressable","onPress","event","stopPropagation","name","icon","size","View","dropdownContainer","zIndex","setTimeout","dropdownMenu","index","key","id","dropdownItem","dropdownItemLast","Text","dropdownItemText","dropdownItemDisabled","renderContent","statusStyle","hasStatusStyle","keys","content","text","container","makeStyles","theme","props","justifyContent","colors","grey5","opacity","borderBottomWidth","borderBottomColor","display","flexDirection","alignItems","width","height","flex","fontSize","fonts","sizeM","fontWeight","colorTextPrimary","grey1","textAlign","alignSelf","minWidth","grey2","position","isolation","background","grey4","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","grey3","_default","withTheme","DataCell"],"sourceRoot":"../../../components","sources":["DataCell/DataCell.tsx"],"mappings":"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","ignoreList":[]}