- 1.通过后端接口返回 然后利用Table.Summary 实现
- 2.利用CSS position: “sticky” 实现
1. 通过后端接口返回 然后利用Table.Summary 实现
- 一般是调用列表接口 给后端多传一个isSummary之类的参数获取合计行(固定行) 数据 , 和列表结构一样
- 通过 columns.useSummary 自定义render 固定的渲染
- 可以自己优化下 比如合计行(固定行) 顺序等等
import _ from 'lodash';
import {
Table } from 'antd';
const columns = [
{
useSummary: (content, data) => '合计'
}
]
const CommonTable = (props) => {
const {
columns = [],
dataSource = [],
fixRowDataSource = [],
expandable,
removeSummary = [],
summaryPosition = 'top',
...restProps
} = props;
const renderSummary = () => {
const newColumns = _.flattenDeep(columns)
let defaultIndex = 0;
if (expandable?.expandedRowRender ) {
newColumns.unshift({
});
defaultIndex++;
}
if (expandable?.onExpand) {
newColumns.unshift({
});
defaultIndex++;
}
const re