Ant Design table td溢出隐藏 (显示省略号)

1、创建组件LineWrap.js

import React, { PureComponent } from 'react';
import PropTypes from 'prop-types';
import { Tooltip } from 'antd';
import Styles from './TableList.less';

export default class LineWrap extends PureComponent {
  static propTypes = {
    title: PropTypes.string,
    lineClampNum: PropTypes.number,
  };

  render() {
    const { title, lineClampNum } = this.props;
    return (
      <Tooltip placement="topLeft" title={title}>
        <span className={Styles.col} style={{ WebkitLineClamp: lineClampNum }}>
          {title}
        </span>
      </Tooltip>
    );
  }
}

2、TableList.less中添加样式

.col {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  display: inline-block;
  width: 80px;
}

3、在页面中引用

import styles from './TableList.less';
import LineWrap from './LineWrap';


{
      title: '数据库表名',
      dataIndex: 'dbTableName',
      width: 100,
      render: (text, record) => {
        return <LineWrap title={text} lineClampNum={2} />;
      },
    },

4、显示效果

Ant Design Table 组件中的列可以动态隐藏显示,具体实现方式如下: 1. 在 Table 组件中的 columns 属性中,为每个列设置一个属性“visible”,表示该列是否可见。默认情况下,所有列都可见。 2. 通过控制“visible”属性的值,来动态隐藏显示某些列。 例如,下面的代码演示了如何动态隐藏显示第二列: ```jsx import React, { useState } from 'react'; import { Table } from 'antd'; function DynamicTable() { const [visible, setVisible] = useState(true); const columns = [ { title: 'Name', dataIndex: 'name', key: 'name', }, { title: 'Age', dataIndex: 'age', key: 'age', visible: visible, }, { title: 'Address', dataIndex: 'address', key: 'address', }, ]; const data = [ { key: '1', name: 'John Brown', age: 32, address: 'New York No. 1 Lake Park', }, { key: '2', name: 'Jim Green', age: 42, address: 'London No. 1 Lake Park', }, { key: '3', name: 'Joe Black', age: 32, address: 'Sidney No. 1 Lake Park', }, ]; const toggleVisible = () => { setVisible(!visible); }; return ( <div> <button onClick={toggleVisible}> {visible ? 'Hide Age Column' : 'Show Age Column'} </button> <Table columns={columns} dataSource={data} /> </div> ); } export default DynamicTable; ``` 在上面的代码中,我们使用了 useState 钩子来控制第二列的可见性。默认情况下,该列是可见的。当用户点击按钮时,我们会调用 toggleVisible 函数,从而改变“visible”属性的值,实现动态隐藏显示第二列。 需要注意的是,如果要动态隐藏显示多个列,可以为每个列都设置“visible”属性,然后分别控制它们的值即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值