如果在Antd表格中设置了某一列的宽度,并且在隐藏该列后,它仍然占据宽度,可能是因为Antd表格的默认行为是将隐藏的列保留在DOM中,即使它们不可见。

要解决这个问题,你可以使用columns属性中的render方法来控制该列的渲染。在render方法中,你可以根据某个属性来判断是否显示该列的内容。

下面是一个示例代码:

import { Table } from 'antd';

const dataSource = [
  {
    key: '1',
    name: 'John',
    age: 32,
    showColumn: true, // 属性用于控制是否显示该列
  },
  {
    key: '2',
    name: 'Mike',
    age: 25,
    showColumn: false,
  },
];

const columns = [
  {
    title: 'Name',
    dataIndex: 'name',
    key: 'name',
    width: 200,
    render: (text, record) => {
      // 根据showColumn属性判断是否显示该列的内容
      return record.showColumn ? text : null;
    },
  },
  {
    title: 'Age',
    dataIndex: 'age',
    key: 'age',
    width: 200,
  },
];

const App = () => (
  <Table dataSource={dataSource} columns={columns} />
);

export default App;

在上面的示例中,我们使用了render方法来控制Name列的渲染。如果showColumn属性为true,则显示该列的内容,否则返回null,从而隐藏该列的内容。

这样,在隐藏该列后,它将不再占据宽度

antd表格有一列根据属性显示和隐藏设置宽度后隐藏后仍占据宽度怎么办

原文地址: https://www.cveoy.top/t/topic/id0W 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录