前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Umi & Ant Design 的Table组件合并单元格及去掉某一列的竖线实现

Umi & Ant Design 的Table组件合并单元格及去掉某一列的竖线实现

作者头像
德顺
发布2021-12-09 19:03:49
2.8K0
发布2021-12-09 19:03:49
举报
文章被收录于专栏:前端资源前端资源

今天接到一个需求,表格要改成这种的:

环比分为两列,表头居中对齐,下面单元格右对齐,而且中间的线要去掉。

这样就需要用到合并单元格,然后通过样式把边线去掉,这里的根据数值设置字体颜色可以用 render 属性,可以参考:React & Ant Design Table组件自定义单元格文字颜色

Ant Design Table 表格组件合并单元格:

这里需要用到 colSpan 属性:表头列合并,设置为 0 时,不渲染。

第一列设置为 n ,如果是合并两列,就是 2 ,第二列设置为 0 ,就可以了。

代码语言:javascript
复制
const columns = [
  {
    title: '环比',
    colSpan: 2,
    dataIndex: 'lastMonth',
    align: 'center',
    className: 'noRightBorder',
    width: '8%',
    render: (value: string) => textControl(value),
  },
  {
    title: '环比',
    colSpan: 0,
    dataIndex: 'ratio',
    align: 'center',
    className: 'noLeftBorder',
    width: '8%',
    render: (value: string | number, row: any, index: number, align?: any) =>
      ratioControl(value, row, index),
  }
];

Ant Design Table 表格组件隐藏某一列的竖线(border):

columns 有一个 className 属性:可以单独定义每一列的样式类名。

这里给第一列一个 noRightBorder ,给第二列一个 noLeftBorder 类名。

然后在 CSS 中覆盖原始样式:注意,这里我只是举例,具体实际项目为准,下面是 *.less 代码:

代码语言:javascript
复制
.ant-table-cell {
  &.noLeftBorder {
    border-left: none !important;
  }
  &.noRightBorder {
    border-right: none !important;
  }
}

这样就可以实现图中的效果了。

未经允许不得转载:w3h5 » Umi & Ant Design 的Table组件合并单元格及去掉某一列的竖线实现

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Ant Design Table 表格组件合并单元格:
  • Ant Design Table 表格组件隐藏某一列的竖线(border):
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档