API

Interaction

功能描述:交互配置。查看 文档 和 示例

参数说明类型默认值必选
linkFields标记字段为链接样式,用于外链跳转string[] | (meta: Node | ViewMeta) => boolean
selectedCellsSpotlight是否开启选中高亮聚光灯效果booleanfalse
hoverHighlight鼠标悬停时高亮当前单元格,以及所对应的行头,列头booleantrue
hoverFocus鼠标悬停在当前单元格超过默认 800ms 后,保持当前高亮,显示 tooltip,悬停时间通过设置 duration 来控制boolean | {duration: number}true
hiddenColumnFields用于配置默认隐藏的列,透视表 和多列头明细表 需要配置列头唯一 id, 单列头明细表 配置列头 field 字段即可 (即:s2DataConfig.fields.columns). 了解更多string[]
copy单元格复制配置Copy
customInteractions自定义交互 详情CustomInteraction[]
scrollSpeedRatio用于控制滚动速率,分水平和垂直两个方向,默认为 1ScrollSpeedRatio
autoResetSheetStyle用于控制点击表格外区域和按下 ESC 键时是否重置交互状态和关闭 Tooltip, 支持根据 event 动态判断boolean | (event: Event | FederatedPointerEvent, spreadsheet: SpreadSheet) => booleantrue
resize用于控制 resize 热区是否显示boolean | ResizeInteractionOptionstrue
brushSelection是否允许单元格(包含行头,列头,数值单元格)刷选。行头,列头刷选只支持透视表boolean | BrushSelectiontrue
multiSelection是否允许多选 (包含行头,列头,数值单元格)booleantrue
rangeSelection是否允许区间快捷多选booleantrue
scrollbarPosition用于控制滚动条展示在内容区边缘还是画布边缘content | canvascontent
eventListenerOptions事件监听函数 addEventListener 的 可选项配置, 可控制事件从冒泡阶段还是捕获阶段触发false
selectedCellHighlight选中数值单元格后的行列高亮联动
rowHeader:选中数值单元格后高亮对应行头
colHeader:选中数值单元格后高亮对应列头
currentRow:选中数值单元格后高亮整行
currentCol:选中数值单元格后高亮整列
true:同 { rowHeader: true, colHeader: true, currentRow: true, currentCol: true }
boolean | { rowHeader?: boolean, colHeader?: boolean, currentRow?: boolean, currentCol?: boolean }false
overscrollBehavior控制滚动至边界的行为,可禁用浏览器的默认滚动行为。详情auto | contain | none | nullauto

Copy

功能描述:单元格复制。查看 文档 和 示例

参数说明类型默认值必选
enable是否允许复制booleantrue
withFormat是否使用 s2DataConfig 的 formatter 格式复制数据booleantrue
withHeader复制数据是否带表头信息booleanfalse
customTransformer复制时支持自定义 (transformer) 数据格式化方法(transformer: Transformer) => Partial<Transformer>transformer

CustomInteraction

功能描述:自定义交互,继承 BaseEvent: 查看示例

参数说明类型默认值必选
key交互的唯一标识string✓
interaction交互实例InteractionConstructor✓

ScrollSpeedRatio

功能描述:滚动速率配置。查看示例

interface ScrollSpeedRatio { 
  horizontal?: number; // 水平滚动速率,默认为 1 
  vertical?: number; // 垂直滚动速率,默认为 1 
} 

ResizeInteractionOptions

功能描述:宽高调整配置。查看示例

参数说明类型默认值必选
rowCellVertical是否开启行头垂直方向 resize 热区booleantrue
cornerCellHorizontal是否开启角头水平方向 resize 热区booleantrue
colCellHorizontal是否开启列头水平方向 resize 热区booleantrue
colCellVertical是否开启列头垂直方向 resize 热区 (列头隐藏时该配置无效)booleantrue
rowResizeType用于控制行高 resize 时的生效范围
1. all: 对所有单元格生效(会覆盖默认的行高配置),2. current: 对当前单元格生效,3. selected: 对当前单元格生效,如果单元格是多选状态,调整任意选中单元格,对所有选中的生效。
all| current | selectedcurrent
colResizeType用于控制列宽 resize 时的生效范围
1. all: 对所有单元格生效(会覆盖默认的列宽配置),2. current: 对当前单元格生效,3. selected: 对当前单元格生效,如果单元格是多选状态,调整任意选中单元格,对所有选中的生效。
all| current | selectedcurrent
disable用于控制行高 resize 是否生效。查看示例(resizeInfo: S2CellType) => boolean
visible自定义当前单元格是否显示 resize 热区(cell: S2CellType) => boolean
minCellWidth单元格可拖拽最小宽度number40
minCellHeight单元格可拖拽最小高度number20

BrushSelection

功能描述:单元格刷选配置。查看示例

参数说明类型默认值必选
dataCell是否允许数值单元格刷选booleantrue
rowCell是否允许行头单元格刷选(仅支持透视表)booleanfalse
colCell是否允许列头单元格刷选booleanfalse

CellSelectedDetail

功能描述:单元格选中信息明细。

参数说明类型默认值必选
interactionName触发选中的交互名InteractionName
targetCell触发选中的单元格S2CellType
event触发选中的事件对象FederatedPointerEvent | Event | KeyboardEvent

InterceptType

功能描述:交互拦截类型。

enum InterceptType { 
  HOVER = 'hover', 
  CLICK = 'click', 
  DATA_CELL_BRUSH_SELECTION = 'dataCellBrushSelection', 
  ROW_CELL_BRUSH_SELECTION = 'rowCellBrushSelection', 
  COL_CELL_BRUSH_SELECTION = 'colCellBrushSelection', 
  MULTI_SELECTION = 'multiSelection', 
  RESIZE = 'resize', 
} 

InteractionName

功能描述:交互名称。

enum InteractionName { 
  CORNER_CELL_CLICK = 'cornerCellClick', 
  DATA_CELL_CLICK = 'dataCellClick', 
  ROW_CELL_CLICK = 'rowCellClick', 
  COL_CELL_CLICK = 'colCellClick', 
  MERGED_CELLS_CLICK = 'mergedCellsClick', 
  ROW_COLUMN_CLICK = 'rowColumnClick', 
  HEADER_CELL_LINK_CLICK = 'headerCellLinkClick', 
  HOVER = 'hover', 
  DATA_CELL_BRUSH_SELECTION = 'dataCellBrushSelection', 
  ROW_CELL_BRUSH_SELECTION = 'rowCellBrushSelection', 
  COL_CELL_BRUSH_SELECTION = 'colCellBrushSelection', 
  COL_ROW_RESIZE = 'rowColResize', 
  DATA_CELL_MULTI_SELECTION = 'dataCellMultiSelection', 
  ROW_CELL_MULTI_SELECTION = 'rowCellMultiSelection', 
  COL_CELL_MULTI_SELECTION = 'colCellMultiSelection', 
  RANGE_SELECTION = 'rangeSelection', 
  SELECTED_CELL_MOVE = 'selectedCellMove', 
  GLOBAL_RESET = 'globalReset', 
} 

InteractionStateName

功能描述:交互状态名称。

enum InteractionStateName { 
  ALL_SELECTED = 'allSelected', 
  SELECTED = 'selected', 
  ROW_CELL_BRUSH_SELECTED = 'rowCellBrushSelected', 
  COL_CELL_BRUSH_SELECTED = 'colCellBrushSelected', 
  DATA_CELL_BRUSH_SELECTED = 'dataCellBrushSelected', 
  UNSELECTED = 'unselected', 
  HOVER = 'hover', 
  HOVER_FOCUS = 'hoverFocus', 
  HIGHLIGHT = 'highlight', 
  SEARCH_RESULT = 'searchResult', 
  PREPARE_SELECT = 'prepareSelect', 
} 

CellType

功能描述:单元格类型。

enum CellType { 
  DATA_CELL = 'dataCell', 
  ROW_CELL = 'rowCell', 
  COL_CELL = 'colCell', 
  SERIES_NUMBER_CELL = 'seriesNumberCell', 
  CORNER_CELL = 'cornerCell', 
  MERGED_CELL = 'mergedCell', 
}