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...

简介

组内排序 代表只影响一个分组内部的排序,例如下图中 笔-价格 选择 组内升序 时,省份 的排序方式不会更改,只会更改每个 省份 内部 城市 的顺序。

注意

  1. 行头/列头 只存在单一状态,当前状态会覆盖前一状态,如上图所示,当对 笔 进行排序时,纸张 的排序状态消失,行头 + 列头 可同时存在自身状态。
group-sort

在 @antv/s2 中使用

@antv/s2 提供组内排序的能力(对于明细表来说即全局排序),可以自行实现 Tooltip 排序菜单 后 (查看示例),然后调用相关 API.

const meta = cell.getMeta()
// 升序
s2.groupSortByMethod('asc', meta)
// 降序
s2.groupSortByMethod('desc', meta)
// 不排序
s2.groupSortByMethod('none', meta)

监听排序事件

s2.on(S2Event.RANGE_SORT, (sortParams) => {
console.log('sortParams:', sortParams)
});
  • 示例 1: 点击列头自定义排序菜单
  • 示例 2: 点击列头排序 icon 自定义排序菜单 (了解更多)

在 @antv/s2-react 中使用

@antv/s2-react 基于 @antv/s2 的 基础排序能力,搭配任意菜单组件 (如 antd 的 Menu 组件), 提供了默认的组内排序功能,排序菜单通过 Tooltip 承载(开启 tooltip 即可),主要根据数值对 行头/列头 进行排序,查看更多排序示例

使用 @antv/s2-react 的组件 SheetComponent 默认在数值头显示 icon ,点击后选择,有 升序、降序、不排序 三种方式,可在 options 中配置显示,如下:

INFO

在 2.0 版本后,内部排序菜单和操作项依赖的 antd Menu 组件 移除,现在需要通过 render 显式声明 UI 组件,最终效果相同,默认提供菜单配置 (props), 可以根据项目中实际使用的 antd@v4 或 antd@v5 不同版本进行调整。

import { Menu } from 'antd'
const s2Options = {
width: 600,
height: 600,
// 打开操作 icon(默认开启)
showDefaultHeaderActionIcon: true,
// 展示 tooltip(默认开启)
tooltip: {
operation: {
// 开启组内排序 (默认开启)
sort: true,
menu: {
render: (props) => {
return <Menu {...props} />;
},
}
},
},
};

监听排序事件

function onRangeSort(sortParams) {
console.log('sortParams:', sortParams);
}
<SheetComponents onRangeSort={onRangeSort} />