1、表格设置宽度不合理

一般情况下,表格的列宽度之和应该大于表格在页面中的宽度,假如在下面示例中width的总和为300,column1-column8为自适应渲染,而当表格的body页面元素太小时便会出现断行和错位
处理方法:
(1):依据页面,目前情况规范设置width
(2):如果每个列都加上了width还是出现断行,可以将表格最后一列的width属性去除,让表格自动计算最后一列的宽度

const columns = [
  {
    title: 'Full Name',
    width: 100,
    dataIndex: 'name',
    key: 'name',
    fixed: 'left',
  },
  {
    title: 'Age',
    width: 100,
    dataIndex: 'age',
    key: 'age',
    fixed: 'left',
  },
  { title: 'Column 1', dataIndex: 'address', key: '1' },
  { title: 'Column 2', dataIndex: 'address', key: '2' },
  { title: 'Column 3', dataIndex: 'address', key: '3' },
  { title: 'Column 4', dataIndex: 'address', key: '4' },
  { title: 'Column 5', dataIndex: 'address', key: '5' },
  { title: 'Column 6', dataIndex: 'address', key: '6' },
  { title: 'Column 7', dataIndex: 'address', key: '7' },
  { title: 'Column 8', dataIndex: 'address', key: '8' },
  {
    title: 'Action',
    key: 'operation',
    fixed: 'right',
    width: 100,
    render: () => action,
  },
];

2、表格设置fix,比如固定头部,固定左侧列或者右侧列

在项目的实际操作中,绝大部分的场景都没有出现这个问题,而有时候,当我们在弹框中嵌套表格,表格中自定义render内容,就会出现表格固定头部的宽度或者固定列的高度与其他单元格错行、错位,固定左侧列或右侧列出现错位,一般是表格元素渲染是固定列的内容大于设置宽度,导致渲染时计算了横向滚动条的高度
处理方法:
(1)去除fix固定(针对于列数较少的问题),治标不治本...
(2)检查rowKey,在浏览器调试工具中检查是否有存在相同,如果有建议取唯一key值
(3)检查是否每个类的标题过长,而内容过少,导致标题换行,将行距撑搞

3、动态单元格或者可编辑列造成的表格行列不齐

通常在使用antd的动态增删表格列或者行时会出现元素错位
解决方法:在出现错位的时候引用窗口监听,使得table自动计算新宽高

const myEvent = new Event('resize');
window.dispatchEvent(myEvent);
Tokials

月亮被嚼碎了变成星星,你就藏在漫天的星光里。

Tokials

月亮被嚼碎了变成星星,你就藏在漫天的星光里。