高级排序
上一篇
简介
下一篇
维度切换
Loading...
组件内部不维护状态,可自行实现成受控模式。
结合 @antv/s2-react
的 SheetComponent
组件使用,配置具体信息可查看 AdvancedSortCfgProps
import React from 'react';import { SheetComponent } from '@antv/s2-react';import { AdvancedSort } from '@antv/s2-react-components';import '@antv/s2-react/dist/s2-react.min.css';import '@antv/s2-react-components/dist/s2-react-components.min.css';export const App = () => {const s2Ref = React.useRef()const [dataCfg, setDataCfg] = React.useState(s2DataConfig);return (<><AdvancedSortsheetInstance={s2Ref.current}sortParams={[{ sortFieldId: 'province', sortMethod: 'DESC' }]}onSortConfirm={(ruleValues, sortParams) => {setDataCfg({ ...dataCfg, sortParams });}}/><SheetComponentref={s2Ref}sheetType="pivot"dataCfg={dataCfg}/></>);};
通过 onSortConfirm
函数透出所选规则数据 ruleValues
和处理成表可直接用的数据 sortParams
<AdvancedSortonSortConfirm={(ruleValues, sortParams) => {setDataCfg({ ...dataCfg, sortParams });}}/>
对入口 Button
的显示定制以及规则文案定制
参数 | 说明 | 类型 | 默认值 | 必选 |
---|---|---|---|---|
className | class 类名称 | string | - | |
icon | 排序按钮图标 | ReactNode | - | |
text | 排序按钮名称 | ReactNode | - | |
ruleText | 规则描述 | ReactNode | - |
支持自定义维度列表 dimension
,不配置默认为:行头+列头+数值
参数 | 说明 | 类型 | 默认值 | 必选 |
---|---|---|---|---|
field | 维度 id | string | - | ✓ |
name | 维度名称 | string | - | ✓ |
list | 维度列表 | string[] | - | ✓ |
list
用于手动排序
支持自定义规则配置列表,默认规则为:首字母、手动排序、其他字段
如果这里自定义,则需在 onSortConfirm
中通过 ruleValues
自定义 sortParams
属性 | 类型 | 必选 | 默认值 | 功能描述 |
---|---|---|---|---|
label | string | ✓ | 规则名称 | |
value | 'sortMethod' | 'sortBy' | 'sortByMeasure' | ✓ | 规则值 | |
children | RuleOption[] | ✓ | 规则子列表 |
可通过 onSortOpen: () => void
回调来支持自定义打开排序弹窗,一般用于提前获取弹框数据。