Web 前端开发

Antd中使用 Table 当内容过长时省略显示三个点鼠标移入显

2020-01-16  本文已影响0人  燕自浩

1.先创建一个工具组件 EllipsisTooltip

import React, { PureComponent } from 'react'
import PropTypes from 'prop-types'
import { Tooltip } from 'antd'
import './ellipsisTooltip.styl'

interface EllipsisTooltipProps {
  title: string
  lineClampNum: number
}

export default class EllipsisTooltip extends PureComponent<EllipsisTooltipProps, any> {
  static propTypes = {
    title: PropTypes.string,
    lineClampNum: PropTypes.number
  }

  render () {
    const { title, lineClampNum } = this.props
    return (
      <div className='ellipsisTooltip'>
        <Tooltip title={title}>
          <span className="Tooltip_title" style={{ WebkitLineClamp: lineClampNum }}>
            {title}
          </span>
        </Tooltip>
      </div>
    )
  }
}

2.先创建对应的样式文件EllipsisTooltip.styl

.ellipsisTooltip
  .ant-tooltip
    max-width: 600px !important
  .Tooltip_title
    display: -webkit-box
    overflow: hidden
    text-overflow: ellipsis
    -webkit-box-orient: vertical

3.在文件中引入EllipsisTooltip组件

import EllipsisTooltip from '组件所存放的位置'

{ 
  title: '站点名称',
  dataIndex: 'siteNames',
  render: (text: any) => (
    <EllipsisTooltip title={text} lineClampNum={1}></EllipsisTooltip>
  )
 }

使用组件之前的效果图


image.png

由于内容过多把table撑开外观极其不雅观

使用组件之后的效果图


image.png
上一篇 下一篇

猜你喜欢

热点阅读