react文本溢出hover气泡显示全部文本——JS判断文本溢出
需求:
在文本溢出的时候,显示气泡
JS相关知识
// target js元素
const containerLength = target.width; //当前容器的宽度
const textLength = target.scrollWidth; // 当前文字(包括省略部分)的宽度
文本溢出的css, 如超过100px显示...
.ellipis {
display: inline-block;
vertical-align: middle;
width: auto;
max-width: 100px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
react组件计算,是否溢出
import React, { Component } from "react";
import { Popover } from "antd"
export default class PopoverEllipsis extends Component{
constructor(props) {
super(props);
this.state = {
showPopover: false
};
}
componentDidMount() {
this.validShowPopover();
}
validShowPopover = () => {
const { scrollWidth, clientWidth } = this.children;
this.setState({
showPopover: scrollWidth > clientWidth
})
}
refChildren = (ref) => {
this.children = ref;
}
renderChildren() {
return (
React.cloneElement(
this.props.children, {
ref: this.refChildren
}
)
)
}
render() {
let {
children,
...other
} = this.props;
const {
showPopover
} = this.state;
if (showPopover) {
return (
<Popover
title={null}
content={null}
placement="top"
{...other}
>
{ this.renderChildren() }
</Popover>
)
}
return this.renderChildren()
}
}
react文本溢出hover气泡显示全部文本——JS判断文本溢出的更多相关文章
- jquery 文本框失去焦点显示提示信息&&单击置空文本框
1.<textarea rows="4" placeholder="请输入提醒内容"></textarea> 2. /** * @par ...
- js判断文本是否溢出容器
onShowNameTipsMouseenter: function(e) { var target = e.target; var containerLength = $(target).width ...
- 用js判断文本框中的是不是空,是否有空格
<script type="text/javascript"> function checkRoleName(){ var userName=document.getE ...
- CSS强制文本在一行内显示若有多余字符则使用省略号表示
这篇文章主要介绍了强制文本在一行内显示,多余字符使用省略号,设置或检索是否使用一个省略标记(...)标示对象内文本的溢出.对应的脚本特性为textOverflow 设置或检索是否使用一个省略标记(.. ...
- CSS实现文本超过指定长度显示省略号
<style type="text/css"> li { width:200px;/*宽度,超过即会溢出*/ line-height:25px;/*设置行间距*/ te ...
- 机房收费系统总结之4——VB.NET 轻松解决判断文本框、组合框为空问题
纵观机房收费系统,判断文本框.组合框为空问题无非两种情况.第一种:判断窗体中所有文本框.组合框是否为空.第二种:判断一部分文本框.组合框是否为空.下面看看是如何实现这两种情况的. 第一种:判断窗体中所 ...
- 判断文本是否溢出/hover显示全部
前言 在工作中我们经常会遇到,文字过多,需要用省略号,并且鼠标hover的时候 还需要 显示全部的文字的需求. 正文 文字过多需要用省略号的实现:上代码啦 .ellipsis { width: 100 ...
- CSS和JS实现文本溢出显示省略号
本文记录实现文本溢出显示省略号的几种方式. 单行文本 三行CSS代码实现: overflow: hidden; // 文本溢出隐藏 text-overflow: ellipsis; // 显示省略号 ...
- text-overflow修剪文本,以省略号显示
overflow: hidden; 必须设置,不然无法修剪文本 white-space: nowrap; 规定段落中的文本不进行换行 text-overflow: ellipsis; 当文本溢出 ...
随机推荐
- sublime3中运行python文件
sublime3中运行python文件 tools->build system->new build stystem 粘贴下面代码{"cmd":["pytho ...
- php查询字符串的函数
/* 查找一个字符串在另一个字符串的第一次出现,并返回其余部分(strstr别名) */ var_dump(strchr("hello world hello", "wo ...
- Ansibile之playbook初识
一.playbook简介 ansiblie的任务配置文件被称为playbook,俗称“剧本”,每一个剧本(playbook)中都包含了一系列的任务,这每个任务在ansible中又被称为“戏剧”(pla ...
- Non-local Neural Networks 原理详解及自注意力机制思考
Paper:https://arxiv.org/abs/1711.07971v1 Author:Xiaolong Wang, Ross Girshick, Abhinav Gupta, Kaiming ...
- ios input输入不了
在项目中遇到了一个问题就是input输入框在安卓可以输入,而在ios输入不了 经过百度,调试发现,在ios中input默认是有user-select: none;属性把input输入框禁用了,将其删除 ...
- Java基础:数值类型转换、强制类型转换
数值类型之间的转换 数值类型之间的转换,在小数值往大数值转换时,不会发生精度的损失.在小数值往大数值转换时有可能发生精度的损失. 比如byte最大值也只有127,如果一个大于127的int类型数据往b ...
- jwt 实践应用以及特殊案例思考
JSON Web Token 是 rfc7519 出的一份标准,使用 JSON 来传递数据,用于判定用户是否登录状态. jwt 之前,使用 session 来做用户认证. 以下代码均使用 javasc ...
- 领扣(LeetCode)最长和谐子序列 个人题解
和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1. 现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度. 示例 1: 输入: [1,3,2,2,5,2,3,7] ...
- windows 通过appache链接cgi程序
#!D:\Python27\ print 'Content-type: text/plain' print print 'Hello, world' 出现错误 The server encounter ...
- (三十五)golang--面向对象之多态
多态:变量具有多种形态,可以用统一的接口来调用不同的实现. 接口体现多态特征: (1)多态参数:之前所讲的Usb接口案例,既可以接受手机变量,也可以接受相机变量,就体现了usb接口的多态: (2)多台 ...