Material-ui: контурная версия иконки

Я использую материал-интерфейс в своем веб-приложении. Мне нужен значок "действие / описание" в компоненте, но в набросках версии.

Согласно документам:

Для удобства полный набор значков Google Material доступен в Material-UI как предварительно созданные компоненты SVG Icon.

Так что я могу сделать это, чтобы получить "заполненную" версию:

import ActionDescription from 'material-ui/svg-icons/action/description'

<div className="number">
  <ActionDescription />
</div>

Но как мне получить "контурную" версию? Я пытался играть с CSS, но не получилось:

<div>
  <ActionDescription style={{black: "black"}} color="transparent" />
</div>

3 ответа

Не уверен, что это было доступно, когда вы задали оригинальный вопрос, но из официальной документации v1.3.1:

Для "тематических" значков добавьте название темы к имени значка. Например, с

  • Значок "Изложенное удаление" отображается как @material-ui/icons/BuildOutlined
  • Округлый значок удаления отображается как @material-ui/icons/BuildRounded
  • Значок удаления двух тонов отображается как @material-ui/icons/BuildTwoTone
  • Значок удаления Sharp отображается как @material-ui/icons/BuildSharp

Смотрите https://material-ui.com/style/icons/

изменить: подтвердил, что для этого требуется последняя бета-версия @material/icons который, возможно, не был доступен несколько месяцев назад. Установить с помощью:

npm install @material-ui/icons@2.0.0-beta.1

и вы сможете получить доступ к тематическим наборам значков, упомянутым в последних документах.

Встроенные значки выполнены в закрашенном стиле, поэтому я думаю, что вы должны сделать выделенный вручную.

Я скачал файл svg здесь: материал иконок официального сайта.

Затем вы можете добавить собственный значок SVG, как это: (это значок в общих чертах описание)

import SvgIcon from 'material-ui/SvgIcon';

    <SvgIcon>
      <g>
        <rect x="8" y="16" width="8" height="2"/>
        <rect x="8" y="12" width="8" height="2"/>
        <path d="M14,2H6C4.9,2,4,2.9,4,4v16c0,1.1,0.89,2,1.99,2H18c1.1,0,2-0.9,2-2V8L14,2z M18,20L6,20V4h7v5h5V20z"/>
      </g>
    </SvgIcon>

Чтобы добавить в Marson Mao: Вот руководство для пользовательских иконок SVG. Кроме того, SvgIcon нужен только путь. Рабочий пример:

const ActionDescriptionOutline = (props) => (
  <SvgIcon {...props}>
    <path d="M14,2H6C4.9,2,4,2.9,4,4v16c0,1.1,0.89,2,1.99,2H18c1.1,0,2-0.9,2-2V8L14,2z M18,20L6,20V4h7v5h5V20z"/>
  </SvgIcon>
);

<RaisedButton
  icon={<ActionDescriptionOutline />}
  onClick={this.handleToggle}
/>
Другие вопросы по тегам