antd table 增加底部合计行统计

方法1:把合计行插入到数组中。
方法2:footer方式实现表格统计。

通过百度参考结合自己项目,做了变化。具体如下:
方法1:把合计行插入到数组中。

1.列表数据:


在这里插入图片描述

2、 合计行的数据合并到列表中(要做判断,如果没有数据,不显示)


在这里插入图片描述

3、table模块
**加粗样式**

4、page 传参

  //table与pagination组件之间的联动
    //因为table表格每页显示的数据被pagenation分页默认的每页显示数pageSize所限制,默认为10,为了让合计行显示到页面上,需+1。
    const _pageSize = totalList && totalList.length == 0 ? pcPagination.pageSize : pcPagination.pageSize + 1;
    //table表格需要获取的总数据,为了让table将后台获取数据和新增合计行数据全部显示出来,需重新计算总数。
    const _total = totalList && totalList.length == 0 ? pcPagination.total : pcPagination.total + parseInt(pcPagination.total/pcPagination.pageSize) + 1
    //分页设置
    const paginationDefault = {
      ...pcPagination,
      showSizeChanger: true,
      current: pcPagination.current,
      total: _total,
      pageSize: _pageSize,
      //因为与后台规定每页获取的数据为10,而前端自定义追加了一条合计行,这导致当前table的每页数据为11条,所以需要手动将分页数据+1
      //若是想显示为['10', '20', '30', '40'],则修改每页获取数据为9即可。
      pageSizeOptions: ['11', '21', '31', '41','51','101'], 
      //此处显示的是从后台获取的总数据数,合计行不在其中。
      showTotal: () => `共${pcPagination.total}条记录`
    }
    let 

4、model中传过来的合计行数据
model 中 page 要改成默认 10条,因为合计是作为一条数据 push 进去的,且每页都存在。后端实际返回的值是 10, 在页面中改成了 11


在这里插入图片描述

效果图:
[图片上传失败...(image-621d8c-1625281508800)]

方法2:footer方式实现表格统计。
1、table 表格中加一个 footer 属性,表头 showHeader 隐藏。
2、table 合计行(就是:footer 那行列表),每列的宽度要和上面列表宽度一样。
3、合计行要做判断,如果没有数据,不显示。

 let status = pcDataSource && (pcDataSource.length == '0') ? {display: 'none'} : {display: 'block'};

最终效果图:
[图片上传失败...(image-850c96-1625281508800)]

界面UI代码:

 <Fragment>
        <EditTable
          resizable
          bordered
          loading={loading}
          rowKey="penetrationId"
          columns={columns}
          dataSource={pcDataSource}
          pagination={pcPagination}
          rowSelection={{
            selectedRowKeys: selectedRows.map(n => n.penetrationId),
            onChange:onRowSelectChange,
          }}
          onChange={page => onChange(page)}
          scroll={{ x: 3400 ,y:450 }}
          footer={() => {
             return (
                 <EditTable
                    bordered={false}
                    showHeader={false} // table 的 columns 头部隐藏
                    columns={columns}
                    dataSource={footerDatasSource}
                    rowKey={record => Math.random()}
                    pagination={false}
                    scroll={{ x:3400  ,y:80 }}
                    style={status}
                 />
                )       
           }}
        />
      </Fragment>

遇到问题:
1.数据列过多时候表体滚动条、和合计行滚动条不能同时滚动。

componentDidMount() {
  let warp = document.getElementsByClassName("ant-table-body")[0];
  // 添加滚动监听
  warp.addEventListener('scroll', this.handleScroll);
}

//监听滚动事件
handleScroll = ()=>{
  let warp = document.getElementsByClassName("ant-table-body")[0];
  let wrapBottom = document.getElementsByClassName('ant-table-body')[1]
  warp.addEventListener("scroll",() => {
    wrapBottom.scrollLeft = warp.scrollLeft;
  },true)
}
 // 组件将要卸载,取消监听window滚动事件
componentWillUnmount(){
  window.removeEventListener('scroll', this.handleScroll);
}

滚动效果同步:


在这里插入图片描述

隐藏合计行滚动条,并对其表格:

.ant-table-footer .ant-table-body{
  overflow: hidden !important;
} 
.ant-table-footer{
  padding-left: 46px;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,393评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,790评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,391评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,703评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,613评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,003评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,507评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,158评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,300评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,256评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,274评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,984评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,569评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,662评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,899评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,268评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,840评论 2 339

推荐阅读更多精彩内容