Commit 026af981 authored by chenshouchao's avatar chenshouchao

feat: tooltip组件修改

parent e1902451
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
*/ */
import { Tooltip, TooltipProps } from "@mui/material"; import { Tooltip, TooltipProps } from "@mui/material";
import { ThemeProvider, createTheme } from "@mui/material/styles"; import { ThemeProvider, createTheme } from "@mui/material/styles";
import { useMemo } from "react";
interface IMyTooltipProps extends Omit<TooltipProps, "title"> { interface IMyTooltipProps extends Omit<TooltipProps, "title"> {
title?: string | boolean; title?: string | boolean;
...@@ -19,8 +20,8 @@ const theme = createTheme({ ...@@ -19,8 +20,8 @@ const theme = createTheme({
styleOverrides: { styleOverrides: {
tooltip: { tooltip: {
backgroundColor: "rgba(7, 19, 38, .8)", backgroundColor: "rgba(7, 19, 38, .8)",
padding:'8px 16px',
color: "#fff", color: "#fff",
padding: 0,
}, },
arrow: { arrow: {
"&:before": { "&:before": {
...@@ -35,12 +36,31 @@ const theme = createTheme({ ...@@ -35,12 +36,31 @@ const theme = createTheme({
const MyTooltip = (props: IMyTooltipProps) => { const MyTooltip = (props: IMyTooltipProps) => {
const { title = false, children, placement = "top", ...other } = props; const { title = false, children, placement = "top", ...other } = props;
const randerTitle = useMemo(() => {
if (title) {
return (
<div
style={{
maxHeight: "36vh",
overflow: "overlay",
padding: "8px 16px",
}}
>
{title}
</div>
);
} else {
return "";
}
}, [title]);
return ( return (
<ThemeProvider theme={theme}> <ThemeProvider theme={theme}>
<Tooltip <Tooltip
// interactive={true} // interactive={true}
arrow arrow
title={title || ''} title={randerTitle}
placement={placement} placement={placement}
{...other} {...other}
> >
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment