首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Style material-使用@emotion/styled的ui工具提示

Style material-使用@emotion/styled的ui工具提示
EN

Stack Overflow用户
提问于 2020-01-28 00:00:02
回答 1查看 1.2K关注 0票数 1

是否可以使用@emotion/styled中的styled函数设置material-ui工具提示的样式?

代码语言:javascript
复制
import { Tooltip } from '@material-ui/core';
import styled from '@emotion/styled';

const MyTooltip = styled(Tooltip)`
    // style the tooltip label
`

我尝试使用全局Mui类等,但没有成功。我知道一个选项是使用createMuiTheme并使用<ThemeProvider>来应用它,但是默认的主题也会应用于Tooltip组件的子级。

EN

回答 1

Stack Overflow用户

发布于 2020-01-28 01:47:24

以这种方式设计Tooltip样式的困难在于,Tooltip不支持className属性(这是styled函数注入的属性) -- className属性只需转发到由工具提示包装的元素。

解决方案是拦截styled传递的道具,并利用Tooltipclasses道具,如下所示:

代码语言:javascript
复制
import React from "react";
import { StylesProvider } from "@material-ui/core/styles";

import Tooltip from "@material-ui/core/Tooltip";
import styled from "@emotion/styled";

const StyledTooltip = styled(({ className, ...other }) => (
  <Tooltip classes={{ tooltip: className }} {...other} />
))`
  font-size: 2em;
  color: blue;
  background-color: yellow;
`;
export default function App() {
  return (
    <StylesProvider injectFirst>
      <StyledTooltip title="Test tooltip">
        <span>Hover over me</span>
      </StyledTooltip>
    </StylesProvider>
  );
}

相关GitHub问题:https://github.com/mui-org/material-ui/issues/11467

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59934683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档