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);
Comments | NOTHING