Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
H5Public
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
CI / CD
CI / CD
流水线
作业
日程
统计图
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
前端开发小组
H5Public
Commits
37a72eda
提交
37a72eda
authored
12月 23, 2019
作者:
王绍森
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加ToolTips组件
上级
cd67f98b
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
67 行增加
和
0 行删除
+67
-0
index.js
baseComponents/ToolTips/index.js
+39
-0
index.less
baseComponents/ToolTips/index.less
+28
-0
没有找到文件。
baseComponents/ToolTips/index.js
0 → 100644
浏览文件 @
37a72eda
import
styles
from
'./index.less'
;
import
{
useState
,
useRef
,
useEffect
,
}
from
'react'
;
export
default
function
ToolTips
({
children
,
className
,
style
,
tips
,
})
{
const
[
visible
,
toggleVisible
]
=
useState
(
false
);
const
timer
=
useRef
(
null
);
function
showTips
(
e
)
{
e
.
stopPropagation
();
if
(
timer
.
current
!==
null
)
{
clearTimeout
(
timer
.
current
);
}
toggleVisible
(
true
);
timer
.
current
=
setTimeout
(()
=>
{
toggleVisible
(
false
);
timer
.
current
=
null
;
},
1000
)
}
const
tipsContainer
=
useRef
();
const
[
top
,
setTop
]
=
useState
(
'calc(-22px + -0.16rem)'
);
useEffect
(()
=>
{
if
(
tipsContainer
&&
tipsContainer
.
current
)
{
const
{
height
}
=
tipsContainer
.
current
.
getBoundingClientRect
();
setTop
(
`calc(-
${
height
}
px + -0.16rem)`
);
}
},
[
visible
]);
return
(
<
div
className
=
{
styles
.
container
+
' '
+
(
className
||
''
)}
style
=
{
style
}
onClick
=
{
showTips
}
>
{
children
}
{
visible
&&
(
<
div
className
=
{
styles
.
tipsContainer
}
style
=
{{
top
:
top
}}
ref
=
{
tipsContainer
}
>
{
tips
}
<
div
className
=
{
styles
.
tri
}
><
/div
>
<
/div
>
)
}
<
/div
>
)
}
baseComponents/ToolTips/index.less
0 → 100644
浏览文件 @
37a72eda
.container {
position: relative;
display: inline-block;
}
.tipsContainer {
position: absolute;
top: -0.5rem;
width: auto;
left: 50%;
transform: translateX(-50%);
background-color: rgba(0, 0, 0, 1);
color: white;
padding: 0.06rem 0.24rem;
border-radius: 0.4rem;
white-space: nowrap;
}
.tri {
position: absolute;
bottom: -0.12rem;
width: 0.24rem;
height: 0.24rem;
background-color: black;
transform-origin: center;
left: 50%;
transform: rotateZ(45deg) translateX(-50%);
z-index: -1;
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论