You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Material UI自定义Tooltip和Speed Dial样式控制台报错如何解决

错误原因

你遇到的报错是因为给SpeedDialAction的TooltipClasses属性传入了完整的classes对象,这个对象里包含speedDial类名,但Tooltip组件本身没有对应的speedDial样式插槽,所以触发了Material-UI的样式校验报错。

解决方案

只需要修改SpeedDialAction的TooltipClasses传值逻辑,仅传入Tooltip组件支持的自定义样式即可,原有SpeedDial的位置配置不需要改动。

修改后的组件代码如下:

<SpeedDial
  ariaLabel="Tutor SpeedDial"
  className={classes.speedDial}
  icon={<SpeedDialIcon openIcon={<EditIcon />} />}
  onClose={handleClose}
  onOpen={handleOpen}
  open={open}
>
  {actions.map((action) => (
    <SpeedDialAction
      key={action.name}
      icon={action.icon}
      tooltipTitle={action.name}
      // 仅传入Tooltip支持的tooltip类,不要传入完整classes对象
      TooltipClasses={{ tooltip: classes.tooltip }}
      onClick={handleClose}
    />
  ))}
</SpeedDial>

效果说明

修改后两个需求都可以正常实现:

  • SpeedDial的位置保持你配置的绝对定位,距离底部2个spacing、右侧0个spacing
  • Tooltip的背景色、字号自定义样式正常生效
  • 控制台不会再抛出无效类名的报错

内容的提问来源于stack exchange,提问作者Jason Davidson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 03:09:02