logo

S2

  • 使用文档
  • API 文档
  • 图表示例
  • 在线体验
  • 更新日志
  • 所有产品antv logo arrow
  • 2.x
  • 简介
  • 快速上手
  • 基础教程
    • 基本概念
      Updated
    • 表形态
      • 透视表
        Updated
      • 明细表
        Updated
    • 字段标记
      Updated
    • 小计总计
    • 排序
      • 基础排序
        Updated
      • 组内排序
        Updated
    • 主题配置
      Updated
    • Tooltip
      Updated
    • 数据格式化
      New
    • 多行文本
      New
    • 国际化
    • 分页
      New
  • 进阶教程
    • 单元格渲染类型
      • 链接
      • 图片
        New
      • 视频
        New
      • 迷你图表
      • 结合@antv/g2
      • 自定义渲染
    • 自定义
      • 自定义 Hook
        Updated
      • 自定义行列头分组
        New
      • 自定义 Icon
        Updated
      • 自定义单元格对齐方式
        Updated
      • 自定义单元格宽高
        Updated
      • 自定义排序操作
        Updated
      • 自定义折叠/展开节点
        New
    • 交互
      • 基础交互
        Updated
      • 自定义交互
      • 隐藏列头
        Updated
      • 行列宽高调整
        Updated
      • 合并单元格
      • 滚动
        Updated
      • 复制与导出
        New
      • 高亮/选中单元格
        New
    • 分析组件
      • 简介
        New
      • 高级排序
        Updated
      • 维度切换
        Updated
      • 导出
        Updated
      • 分页
        Updated
      • 维度下钻
        Updated
    • 表格组件
      • 编辑表
      • 趋势分析表
        Updated
    • 高清适配
      Updated
    • 获取表格实例
    • 表格自适应
    • 获取单元格数据
      Updated
    • 注册 AntV/G 插件
      New
    • 透视组合图
      Experimental
    • Vue 3.0 组件 (停止维护)
  • 扩展阅读
    • 数据流处理
      • 透视表
      • 明细表
    • 布局流程
      • 透视表
      • 明细表
    • 性能介绍
      Updated
  • 贡献指南
  • 常见问题
  • S2 2.0 升级指南

维度下钻

上一篇
分页
下一篇
编辑表

Resources

Ant Design
Galacea Effects
Umi-React 应用开发框架
Dumi-组件/文档研发工具
ahooks-React Hooks 库

社区

体验科技专栏
seeconfSEE Conf-蚂蚁体验科技大会

帮助

GitHub
StackOverflow

more products更多产品

Ant DesignAnt Design-企业级 UI 设计语言
yuque语雀-知识创作与分享工具
EggEgg-企业级 Node 开发框架
kitchenKitchen-Sketch 工具集
GalaceanGalacean-互动图形解决方案
xtech蚂蚁体验科技
© Copyright 2025 Ant Group Co., Ltd..备案号:京ICP备15032932号-38

Loading...

@antv/s2-react @antv/s2-vue

S2 提供 维度下钻 的基础能力,@antv/s2-react 和 @antv/s2-vue 基于 @antv/s2 封装了 维度下钻 的组件,可以为你挖掘不同维度下更详细的数据,让你的数据洞察变得更清晰,也可以通过下钻的方式实现数据按需渲染。

preview

简介

基本概念

  • 主要适用于存在分层关系的数据源,对于某一个数据信息,向下钻取不同层级的数据表现。🌰 例如:查看不同区域的销售数据,您查看华中区销售额时,可以下钻查看湖北省的销售额。
  • 下钻是由汇总数据深入到细节,层层深入以便更详细的查看数据的方式,让数据更加清晰明了,帮助充分挖掘数据背后的价值。

功能描述

配置维度下钻,当前仅支持透视模式的树形结构下,行头维度下钻。

拓展

向上钻取: 存在向上钻取,查看不同区域的销售数据,您查看浙江省销售额时,可以上钻查看华东区的销售额。

示例

点击查看 PartDrillDown 维度下钻配置
import { DrillDown } from '@antv/s2-react-components';
import '@antv/s2-react-components/dist/s2-react-components.min.css';
const sex = ['男', '女'];
const PartDrillDown = {
render: (props) => <DrillDown {...props}/>,
drillConfig: {
// 个性化配置 (可选)
title: '下钻',
clearText: '还原',
searchText: '搜素',
// 下钻数据源配置
dataSet: [
{
name: '客户性别',
value: 'sex',
type: 'text',
},
],
},
// 点击下钻后的回调
fetchData: (meta, drillFields) =>
new Promise((resolve) => {
const dataSet = meta.spreadsheet.dataSet;
const field = drillFields[0];
const rowData = dataSet.getCellMultiData({ query: meta.query });
const drillDownData = [];
rowData.forEach((data) => {
const { city, number, province, sub_type: subType, type } = data;
const number0 = Math.ceil(Math.random() * (number - 50)) + 50;
const number1 = number - number0;
const dataItem0 = {
city,
number: number0,
province,
sub_type: subType,
type,
[field]: sex[0],
};
drillDownData.push(dataItem0);
const dataItem1 = {
city,
number: number1,
province,
sub_type: subType,
type,
[field]: sex[1],
};
drillDownData.push(dataItem1);
});
resolve({
drillField: field, // 下钻维度 value 值
drillData: drillDownData, // 下钻数据
});
}),
};
import React from 'react';
import { SheetComponent } from '@antv/s2-react';
import '@antv/s2-react/dist/s2-react.min.css';
const s2Options = {
hierarchyType: 'tree', // 树形结构
};
const App = () => {
return (
<SheetComponent
dataCfg={s2DataConfig}
options={s2Options}
partDrillDown={PartDrillDown}
/>
)
}

单独使用下钻面板

import { DrillDown } from '@antv/s2-react-components';
import '@antv/s2-react-components/dist/s2-react-components.min.css';
function App() {
return (
<DrillDown
dataSet={dataSet}
disabledFields={disabledFields}
clearText={clearText}
/>
)
}

使用场景

🌰 案例

洞察数据异常:当销售负责人发现华中地区销售异常,远低于其他地区时。他通过下钻省份,查看华中地区所有省份的销售额。当发现湖北省销售异常时,由可以通过省份下钻到城市🏙,发现城市 B 销售额异常。通过下钻,我们快速的挖掘到了销售额异常的根源。

preview

API

注意

维度下钻功能需要满足以下两个前置条件:

  • 透视表: 即 sheetType="pivot"
  • 树状模式: 即 hierarchyType="tree"

React 下钻组件 @antv/s2-react @antv/s2-react-components

​查看示例
import { DrillDown } from '@antv/s2-react-components';
import '@antv/s2-react-components/dist/s2-react-components.min.css'
const s2Options = {
width: 600,
height: 480,
hierarchyType: 'tree'
};
<SheetComponent
sheetType="pivot"
options={s2Options}
partDrillDown={{
render: (props) => <DrillDown {...props} />,
...PartDrillDown
}}
/>

Vue 下钻组件 @antv/s2-vue

查看示例

const s2Options = {
width: 600,
height: 480,
hierarchyType: 'tree'
};
<template>
<SheetComponent
ref="s2"
:sheetType="pivot"
:partDrillDown="partDrillDown"
:options="s2Options"
/>
</template>

公共 API

功能描述:配置维度下钻,当前仅支持透视模式的树形结构下,行头维度下钻

PartDrillDown

类型:object,可选,默认值:{}

参数说明类型默认值必选备注版本
drillConfig下钻菜单组件配置项DrillDownProps-✓
drillItemsNum下钻完成后展示的个数,默认全部展示number-1
fetchData点击下钻后的回调FetchCallBack-✓
clearDrillDown清除下钻信息,当有指定的 rowId 传递时清除对应 rowId 的下钻信息;如果参数是 空对象 {},则清空所有的下钻信息{rowId: string;}-仅 React 组件支持此属性
displayCondition配置下钻 icon 的展示条件, 同 HeaderActionIcon(meta: Node, iconName: string) => boolean-仅 React 组件支持此属性1.26.0 回传 iconName 并按单个 icon 控制显隐

注意:PartDrillDown 中 drillConfig、displayCondition 字段会影响下钻模式的重渲,请注意使用 memo 或 state 控制其可变性。

FetchCallBack

(meta: Node, drillFields: string[]) => Promise<PartDrillDownInfo>

功能描述:点击下钻后的回调参数:PartDrillDownInfo

PartDrillDownInfo

功能描述:下钻数据请求参数配置

参数说明类型必选默认值
drillData下钻的数据Record<string, string | number>[] ✓
drillField下钻维度 value 值string✓

DrillDownProps

功能描述:下钻菜单组件配置项

参数说明类型默认值必选备注
dataSet下钻数据源配置DataSet[]✓
className透传样式名string
title标题React.ReactNode
searchText搜索框文案string
clearText重置按钮文案React.ReactNode
disabledFields不允许下钻的维度string[]
getDrillFields内部获取当前下钻维度的回调Function
setDrillFields内部设置当前下钻维度的回调Function
extra自定义插入的节点,插入在搜索框和下钻菜单中间ReactNode仅 React 组件支持此属性
drillFields允许下钻的维度string[]仅 React 组件支持此属性
renderMenu自定义下钻组件(props: MenuProps) => ReactNode仅 React 组件支持此属性
DataSet

功能描述:下钻数据源配置

参数说明类型默认值必选
name展示名字string✓
value具体值string✓
type维度类型,不同类型对应 icon 不同text | location | date
disabled是否允许选择boolean
icon列表 item 的 iconReactNode