需求:

在文本溢出的时候,显示气泡

JS相关知识

  1. // target js元素
  2. const containerLength = target.width; //当前容器的宽度
  3. const textLength = target.scrollWidth; // 当前文字(包括省略部分)的宽度

文本溢出的css, 如超过100px显示...

  1. .ellipis {
  2. display: inline-block;
  3. vertical-align: middle;
  4. width: auto;
  5. max-width: 100px;
  6. overflow: hidden;
  7. text-overflow: ellipsis;
  8. white-space: nowrap;
  9. }

react组件计算,是否溢出

  1. import React, { Component } from "react";
  2. import { Popover } from "antd"
  3. export default class PopoverEllipsis extends Component{
  4. constructor(props) {
  5. super(props);
  6. this.state = {
  7. showPopover: false
  8. };
  9. }
  10. componentDidMount() {
  11. this.validShowPopover();
  12. }
  13. validShowPopover = () => {
  14. const { scrollWidth, clientWidth } = this.children;
  15. this.setState({
  16. showPopover: scrollWidth > clientWidth
  17. })
  18. }
  19. refChildren = (ref) => {
  20. this.children = ref;
  21. }
  22. renderChildren() {
  23. return (
  24. React.cloneElement(
  25. this.props.children, {
  26. ref: this.refChildren
  27. }
  28. )
  29. )
  30. }
  31. render() {
  32. let {
  33. children,
  34. ...other
  35. } = this.props;
  36. const {
  37. showPopover
  38. } = this.state;
  39. if (showPopover) {
  40. return (
  41. <Popover
  42. title={null}
  43. content={null}
  44. placement="top"
  45. {...other}
  46. >
  47. { this.renderChildren() }
  48. </Popover>
  49. )
  50. }
  51. return this.renderChildren()
  52. }
  53. }

react文本溢出hover气泡显示全部文本——JS判断文本溢出的更多相关文章

  1. jquery 文本框失去焦点显示提示信息&&单击置空文本框

    1.<textarea rows="4" placeholder="请输入提醒内容"></textarea> 2. /** * @par ...

  2. js判断文本是否溢出容器

    onShowNameTipsMouseenter: function(e) { var target = e.target; var containerLength = $(target).width ...

  3. 用js判断文本框中的是不是空,是否有空格

    <script type="text/javascript"> function checkRoleName(){ var userName=document.getE ...

  4. CSS强制文本在一行内显示若有多余字符则使用省略号表示

    这篇文章主要介绍了强制文本在一行内显示,多余字符使用省略号,设置或检索是否使用一个省略标记(...)标示对象内文本的溢出.对应的脚本特性为textOverflow 设置或检索是否使用一个省略标记(.. ...

  5. CSS实现文本超过指定长度显示省略号

    <style type="text/css"> li { width:200px;/*宽度,超过即会溢出*/ line-height:25px;/*设置行间距*/ te ...

  6. 机房收费系统总结之4——VB.NET 轻松解决判断文本框、组合框为空问题

    纵观机房收费系统,判断文本框.组合框为空问题无非两种情况.第一种:判断窗体中所有文本框.组合框是否为空.第二种:判断一部分文本框.组合框是否为空.下面看看是如何实现这两种情况的. 第一种:判断窗体中所 ...

  7. 判断文本是否溢出/hover显示全部

    前言 在工作中我们经常会遇到,文字过多,需要用省略号,并且鼠标hover的时候 还需要 显示全部的文字的需求. 正文 文字过多需要用省略号的实现:上代码啦 .ellipsis { width: 100 ...

  8. CSS和JS实现文本溢出显示省略号

    本文记录实现文本溢出显示省略号的几种方式. 单行文本 三行CSS代码实现: overflow: hidden; // 文本溢出隐藏 text-overflow: ellipsis; // 显示省略号 ...

  9. text-overflow修剪文本,以省略号显示

    overflow: hidden;  必须设置,不然无法修剪文本 white-space: nowrap;  规定段落中的文本不进行换行 text-overflow: ellipsis;  当文本溢出 ...

随机推荐

  1. Java环境变量配置教程

    Windows 10  Java环境变量配置教程 目前Windows 10系统已经很成熟,大多数人开发都在Windows 10系统下进行开发,于是乎我做一下Java环境变量在Windows 10配下的 ...

  2. Linux 常用命令 | top 详解

    top 命令实时显示进程的状态.(自己也会占用资源,类似window的任务管理器),由以下几部分组成 默认状态显示的是cpu密集型的进程,并且每5秒钟更新一次. (1) 系统状态 当前时间.系统已运行 ...

  3. PHP结合SQL语句写一句话木马

    一.基础类的一句话--功能仅限于验证漏洞了,实际中太容易被查出出来: 1 <?php @eval($_GET["code"])?> 2 <?php @system ...

  4. 小程序---电影商城---第三方组件 vant(vant weapp)

    小程序版本主页 https://youzan.github.io/vant-weapp/#/intro (1)创建项目描述文件 package.json ---鼠标右击 miniprogram  目录 ...

  5. Git III: 撤销操作

    所谓撤销操作,无非就是后悔药.对Git来说,撤销操作主要是以下几块: 撤销已经提交的Commit. 对已经通过git add加入Stage的文件,进行unstage操作. 对已经是Untracked却 ...

  6. 使用JSP脚本在页面输出九九乘法表

    <% int i,j; for(i=1;i<10;i++) { for(j=1;j<=i;j++) { out.println(i+"*"+j+"=&q ...

  7. 更换JDK

    1.更换JDK 1).卸载原有jdk 检查一下系统中的jdk版本 java -version 显示 java version "1.6.0_24" OpenJDK Runtime ...

  8. Vue packages version mismatch版本问题的解决

    今天下载了一个vue项目,npm run dev 时发现报错,错误信息入下: error in .src/components/mobile/SeniorDetail.vue Module build ...

  9. 小白学 Python 爬虫(4):前置准备(三)Docker基础入门

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  10. svn文件被锁不能提交的解决办法

    记录工作中遇到的问题,分享出来: 前端时间在提交项目到svn遇到一个问题, 提交的时候提示:文件已经锁定!如下图: 原因是我之前提交的时候不小心中途停了,导致文件被锁,然后也没在意那么多, 趁着今天有 ...