前言
遇到一个需求,应该挺常见但是我却没怎么遇到,也费了不少功夫也解决,记录一下。
需求很简单,是个后台管理系统项目,要做个表格,(什么,这么简单,直接组件库里面复制一下Tabel
不就完事了) 哈哈,起初我也是这么想的,项目用的是react + antd
。所以是有现成的Table
的。但是遇到的还稍微复杂一点,最下面两行是不同于其他的数据,看下图
所以难点就是:最后两行是自定义的,显示总计和评价值
实现思路
翻了一圈antd的文档,发现并没有自定义底部的配置,只有自定义表头,就在我准备放弃,跟产品说实现不了的时候,突然发现了Column
的配置项里面的render
属性,里面是这样介绍的:
生成复杂数据的渲染函数,参数分别为当前行的值,当前行数据,行索引,@return 里面可以设置表格行/列合并
额,咋一看好像也不符合,但是前面的几个字,生成复杂数据 ,好像有点搞头,冥想了一会后好像有点点思路了:
用index判断行数,再用key判断列数,这样在最后两行的时候根据当前的key值去手动渲染需要的数据。
代码
知道思路后挺简单的,就是在render
函数里面做判断,看注释吧
render()