🐛透视表自定义列头后,行维度的外侧排序失效
🏷 S2 Version / S2 版本
| Package | Version |
|---|---|
| @antv/s2 | * |
| @antv/s2-react | |
| @antv/s2-react-components |
💻 Sheet Type / 表格类型
- [x] PivotSheet
- [ ] TableSheet
- [ ] PivotChartSheet
- [ ] GridAnalysisSheet
- [ ] StrategySheet
- [ ] EditableSheet
🖋 Describe the bug / 问题描述
当使用透视表的自定义列头的时候,行维度根据TOTAL_VALUE的排序失效
⌨️ Code Snapshots / 代码片段
{
fields: {
"columns": [
{
"field": "所有量值[实际销售数量]",
"title": "实际销售数量",
"description": "实际销售数量",
"express": {
"measure": {
"property": "实际销售数量",
"expression": {
"string": {
"value": "所有量值"
}
}
}
}
}
],
"rows": [
"商品大类",
"品牌",
"商品年份"
],
"values": [
"所有量值[实际销售数量]"
],
"valueInCols": true
},
[
{
"sortFieldId": "商品大类",
"sortByMeasure": "$$total$$",
"sortMethod": "desc",
"query": {
"$$extra$$": "所有量值[实际销售数量]"
}
},
{
"sortFieldId": "品牌",
"sortByMeasure": "$$total$$",
"sortMethod": "desc",
"query": {
"$$extra$$": "所有量值[实际销售数量]"
}
},
{
"sortFieldId": "商品年份",
"sortByMeasure": "$$total$$",
"sortMethod": "desc",
"query": {
"$$extra$$": "所有量值[实际销售数量]"
}
}
]
}
这是字段配置和相关的排序设置
🔗 Reproduction link / 复现链接
No response
📋 Steps to Reproduce the Bug or Issue / 重现步骤
,
只要是透视表自定义列头,外加行维度超过一个就能复现
😊 Expected Behavior / 期望行为
😅 Current Behavior / 当前行为
No response
💻 OS / 操作系统
- [ ] macOS
- [x] Windows
- [ ] Linux
- [ ] Others / 其他
🌏 Browser / 浏览器
- [x] Chrome
- [ ] Edge
- [ ] Firefox
- [ ] Safari (Limited support / 有限支持)
- [ ] IE (Nonsupport / 不支持)
- [ ] Others / 其他
你好 @Ahui4518:
🌟 我们需要你的支持!
AntV/S2 的成长离不开社区的力量,期待您用以下方式与我们同行:
1. 点亮星星标记 ✨
如果 S2 为您的项目创造价值,请为我们点亮 GitHub Star! 这个简单的动作将:
- 提升项目在开源生态的可见度
- 激励维护团队持续优化
- 吸引更多开发者参与共建
2. 加入用户荣誉墙 🏆
我们正在建立「S2 用户案例」展示墙,欢迎留下公司或产品名,您的回复将成为维护者、社区用户和观望者的信心来源 💪🏻
提 Issue 须知
⚠️ 在提出问题前,请确保你已经仔细阅读👓/搜索🔍过 官方文档 和 常见问题 以及 图表示例, 并且已经搜索查阅过相关 Issues 列表 和 Discussions 列表. 当你确定自己的问题没有解决方案时,请提交 issue。 ⚠️
如果是使用问题,不知道怎么用,移步 Discussions 讨论区 并提供 有效信息 进行 提问。
参与社区共建
这是一个开源项目, 我们也有繁忙的业务要做, 是用自己的业余时间在维护, 为爱发电, 精力有限, 所以有时候 issue 响应速度不是那么及时, 如果你遇到了问题, 或者对 Issues 和 Discussions 列表的问题感兴趣, 可以直接认领并尝试修复 (贡献指南),帮助 S2 变得更好
@Ahui4518 你好,请提供完整可运行的复现代码。
@Alexzjt 你好,复现链接https://codesandbox.io/p/sandbox/pivotsort-3z3l3f?file=%2Fsrc%2Findex.mjs%3A35%2C17 2.0版本在codesandbox里面运行不起来,我直接把配置贴上面了,复制到官网案例的组内排序那边就能看。期待是像https://s2.antv.antgroup.com/manual/basic/sort/basic#3%E5%BA%A6%E9%87%8F%E5%80%BC%E5%AD%97%E6%AE%B5sortbymeasure 的示例2非内侧维度按汇总数据排序,另外试了下如果fileds的columns设置为空数组,排序是正常的
@Ahui4518
- codesandbox地址打不开。
- 看issue原文贴的图片,自定义列头也不需要吧,也没起到作用,图上只有一个数值字段。
- 你给的自定义列头的定义不符合预期,里面没有children和数值指标字段。正常是需要包含数值字段的,类似下面这种。
const customTree: CustomTreeNode[] = [
{
field: 'a-1',
title: '自定义节点 a-1',
description: 'a-1 描述',
children: [
{
field: 'a-1-1',
title: '自定义节点 a-1-1',
description: 'a-1-1 描述',
children: [
{
field: 'measure-1',
title: '指标 1',
description: '指标 1 描述',
children: [],
},
{
field: 'measure-2',
title: '指标 2',
description: '指标 2 描述',
children: [],
},
],
},
{
field: 'a-1-2',
title: '自定义节点 a-1-2',
description: 'a-1-2 描述',
children: [],
},
],
},
{
field: 'a-2',
title: '自定义节点 a-2',
description: 'a-2 描述',
children: [],
},
];
@Alexzjt 可能是我没写清楚,columns如果是字符串数组排序是正常的,如果是对象数组的话行维度的外侧排序就会失效