如何在 Hyperstack 中导入 Material-Icons?
How to import Material-Icons in Hyperstack?
我尝试在我的 Hyperstack-App 中使用 MaterialUi 的 <MenuIcon />
(如此处 https://material-ui.com/demos/app-bar/),但出现以下错误。
我用 yarn 安装了 @material-ui/icons
,然后像这样在 /app/javascript/packs/application.js
中导入它
import * as Mic from '@material-ui/icons';
global.Mic = Mic;
然后 运行 bin/webpack 没有错误。
然后我在组件中有这样的东西:
Mui.Toolbar() do
if @menu == 'true'
Mui.IconButton() do
Mic.MenuIcon() {}
end
...
但是我得到一个错误:
Uncaught error: RuntimeError: could not import a react component named: Mic.MenuIcon
我做错了什么?
非常感谢您的帮助:)
我没有将 MenuIcon
视为 class 在语义 UI 中,并且在按钮上使用了这样的图标:
所以,如果您像这样导入 Material UI
Sem = require('semantic-ui-react');
Sem.Button(icon: true, labelPosition: 'left', primary: true) do
Sem.Icon(name: :heart)
SPAN { "Add Love" }
end
您可能还需要导入您的图标库(在 NPM 中或简单地通过在您的布局中包含 Material CSS。
我发现导入图标(以及所有语义 CSS)的最佳方法是使用 Yarn 构建,然后像这样通过 Webpack 导入
require('../../../vendor/semantic/dist/semantic.css');
我回答的问题就好像你在使用语义 UI 而你问的是 Material UI,所以我会把第一个答案留给任何使用语义的人,现在回答Material UI.
图标最简单的方法是在布局中导入 Material 图标库 HTML
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
然后像这样在 Material UI 中简单地使用它们:
IconButton { Icon(fontSize: :large) { expand_icon } }
如果您将整个 Material UI 库作为一个对象导入(根据您的问题),那么它将是:
Mic.IconButton { Mic.Icon(fontSize: :large) { 'expand_more' } }
此外,我认为 @material-ui/icons'
不包含任何方法,只包含图标本身,因此您可以只导入它然后使用图标(因为资源将被 Webpack 捆绑)
我尝试在我的 Hyperstack-App 中使用 MaterialUi 的 <MenuIcon />
(如此处 https://material-ui.com/demos/app-bar/),但出现以下错误。
我用 yarn 安装了 @material-ui/icons
,然后像这样在 /app/javascript/packs/application.js
中导入它
import * as Mic from '@material-ui/icons';
global.Mic = Mic;
然后 运行 bin/webpack 没有错误。
然后我在组件中有这样的东西:
Mui.Toolbar() do
if @menu == 'true'
Mui.IconButton() do
Mic.MenuIcon() {}
end
...
但是我得到一个错误:
Uncaught error: RuntimeError: could not import a react component named: Mic.MenuIcon
我做错了什么?
非常感谢您的帮助:)
我没有将 MenuIcon
视为 class 在语义 UI 中,并且在按钮上使用了这样的图标:
所以,如果您像这样导入 Material UI
Sem = require('semantic-ui-react');
Sem.Button(icon: true, labelPosition: 'left', primary: true) do
Sem.Icon(name: :heart)
SPAN { "Add Love" }
end
您可能还需要导入您的图标库(在 NPM 中或简单地通过在您的布局中包含 Material CSS。
我发现导入图标(以及所有语义 CSS)的最佳方法是使用 Yarn 构建,然后像这样通过 Webpack 导入
require('../../../vendor/semantic/dist/semantic.css');
我回答的问题就好像你在使用语义 UI 而你问的是 Material UI,所以我会把第一个答案留给任何使用语义的人,现在回答Material UI.
图标最简单的方法是在布局中导入 Material 图标库 HTML
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
然后像这样在 Material UI 中简单地使用它们:
IconButton { Icon(fontSize: :large) { expand_icon } }
如果您将整个 Material UI 库作为一个对象导入(根据您的问题),那么它将是:
Mic.IconButton { Mic.Icon(fontSize: :large) { 'expand_more' } }
此外,我认为 @material-ui/icons'
不包含任何方法,只包含图标本身,因此您可以只导入它然后使用图标(因为资源将被 Webpack 捆绑)