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

如何在PrimeNG Speeddial选项按钮中添加文本?

实现SpeedDial选项显示文本而非图标

以下是针对Material-UI SpeedDial组件的实现方案,可让选项显示文本而非图标:

  • 核心思路:使用SpeedDialAction组件的icon属性传入文本元素,而非图标组件;同时调整样式让文本正常显示。

  • 代码示例:

import SpeedDial from '@mui/material/SpeedDial';
import SpeedDialAction from '@mui/material/SpeedDialAction';

const actions = [
  { name: '新建' },
  { name: '编辑' },
  { name: '删除' },
];

export default function TextOnlySpeedDial() {
  return (
    <SpeedDial
      ariaLabel="SpeedDial text example"
      icon={<span>菜单</span>}
      direction="up"
    >
      {actions.map((action) => (
        <SpeedDialAction
          key={action.name}
          icon={<span style={{ padding: '0 8px' }}>{action.name}</span>}
          tooltipTitle={action.name}
        />
      ))}
    </SpeedDial>
  );
}
  • 样式优化说明:
    • 给文本元素添加内边距,避免文本紧贴组件边缘
    • 若需统一样式,可通过自定义CSS类或Material-UI的styled组件批量设置,示例:
import { styled } from '@mui/material/styles';

const StyledSpeedDialAction = styled(SpeedDialAction)(({ theme }) => ({
  '& .MuiSpeedDialAction-icon': {
    padding: '0 12px',
    fontSize: '14px',
  },
}));

// 使用时替换原SpeedDialAction:
<StyledSpeedDialAction
  key={action.name}
  icon={<span>{action.name}</span>}
  tooltipTitle={action.name}
/>

内容的提问来源于stack exchange,提问作者Edgar Conrado

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 06:10:03