API
功能描述:交互类相关属性和方法。详情
s2.interaction.reset()
| 参数 | 说明 | 类型 |
|---|---|---|
| spreadsheet | 表格实例 | SpreadSheet |
| interactions | 当前已注册的交互 | Map<string, BaseEvent> |
| intercepts | 当前拦截的交互,防止不同交互之间冲突 (查看示例) | Set<Intercept> |
| eventController | 事件控制器 | EventController |
| destroy | 卸载所有交互实例,并重置为初始状态 | () => void |
| reset | 重置所有交互 | () => void |
| setState | 设置状态 | (data: InteractionStateInfo) => void |
| getState | 获取当前状态 | () => void |
| resetState | 重置为初始状态 | () => void |
| clearState | 清空状态,并重绘 | () => void |
| changeState | 更新状态 | (data: InteractionStateInfo) => void |
| setInteractedCells | 设置当前发生改变的单元格 | (cell: S2CellType) => void |
| getInteractedCells | 获取当前发生改变的单元格 | () => S2CellType[] |
| getCurrentStateName | 获取当前状态名 | () => void |
| isEqualStateName | 是否是相同的状态名 | (name: InteractionStateName) => boolean |
| isSelectedState | 是否是选中状态 | () => boolean |
| isBrushSelectedState | 是否是刷选状态 | () => boolean |
| isHoverState | 是否是悬停状态 | () => boolean |
| isHoverFocusState | 是否是悬停聚焦状态 (悬停在单元格 focusTime: 默认 800ms 后) | () => boolean |
| isSelectedCell | 是否是选中的单元格 | (cell: S2CellType) => boolean |
| isActiveCell | 是否是激活的单元格 | (cell: S2CellType) => boolean |
| getCells | 获取当前 interaction 记录的 Cells 元信息列表,包括不在可视范围内的单元格 | () => Partial<ViewMeta>[] |
| getActiveCells | 获取当前在可视区域的单元格实例 | () => S2CellType[] |
| clearStyleIndependent | 清除单元格交互样式 | () => void |
| getActiveDataCells | 获取当前在可视区域的数值单元格实例 | () => S2CellType[] |
| getActiveRowCells | 获取当前在可视区域的行头单元格实例 | () => S2CellType[] |
| getActiveColCells | 获取当前在可视区域的列头单元格实例 | () => S2CellType[] |
| clearStyleIndependent | 清除单元格样式 | () => void |
| getUnSelectedDataCells | 获取可视区域内选中的数值单元格 | () => DataCell[] |
| getAllCells | 获取所有可视区域内的单元格 | () => S2CellType[] |
| selectAll | 选中所有单元格 | () => void |
| hideColumns | 隐藏列 (forceRender 为 false 时,隐藏列为空的情况下,不再触发表格更新) | (hiddenColumnFields: string[], forceRender?: boolean = true) => void |
| mergeCells | 合并单元格 | (cellsInfo?: MergedCellInfo[], hideData?: boolean) => void |
| unmergeCell | 取消合并单元格 | (removedCell: MergedCell) => void |
| updateAllDataCells | 更新所有数值单元格 | () => void |
| updateCells | 更新指定单元格 | (cells: S2CellType[]) => void |
| addIntercepts | 新增交互拦截 | (interceptTypes: InterceptType[]) => void |
| hasIntercepts | 是否有指定拦截的交互 | (interceptTypes: InterceptType[]) => boolean |
| removeIntercepts | 移除指定交互拦截 | (interceptTypes: InterceptType[]) => void |
| highlightNodes | 高亮节点对应的单元格 | (nodes: Node[], stateName: InteractionStateName) => void |
| scrollTo | 滚动至指定位置 | (offsetConfig: ScrollOffsetConfig) => void |
| scrollToNode | 滚动至指定单元格节点 | (node: Node, options?: CellScrollToOptions) => void |
| scrollToCell | 滚动至指定单元格 | (cell: S2CellType, options?: CellScrollToOptions) => void |
| scrollToCellById | 滚动至指定单元格 id 对应的位置,如果不在可视化范围内,则会自动滚动 | (id: string, options?: CellScrollToOptions) => void |
| scrollToTop | 滚动至顶部 | (options?: CellScrollToOptions) => void |
| scrollToRight | 滚动至右边 | (options?: CellScrollToOptions) => void |
| scrollToBottom | 滚动至底部 | (options?: CellScrollToOptions) => void |
| scrollToLeft | 滚动至左边 | (options?: CellScrollToOptions) => void |
| highlightCell | 高亮指定单元格(可视范围内) | (cell: S2CellType) => void |
| selectCell | 选中指定单元格(可视范围内) | (cell: S2CellType, options: ChangeCellOptions) => void |
| changeCell | 改变指定单元格状态(可视范围内)(如:选中/高亮/多选等) | (cell: S2CellType, options: ChangeCellOptions) => void |
| updateDataCellRelevantHeaderCells | 高亮数值单元格和所对应行列单元格 | (stateName: InteractionStateName, meta: ViewMeta) => void |
| updateDataCellRelevantRowCells | 高亮数值单元格和所对应行头单元格 | (stateName: InteractionStateName, meta: ViewMeta) => void |
| updateDataCellRelevantColCells | 高亮数值单元格和所对应列头单元格 | (stateName: InteractionStateName, meta: ViewMeta) => void |