質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Onsen UI

HTML5で記述されたモバイルアプリの高速化、およびネイティブアプリライクなUIが作れるフレームワーク。 様々なJavaScriptフレームワークと併せて使用することができます。スマートフォン向けアプリ、Webサイトに必要なアニメーション、UI/UXを実装することが可能になります。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

613閲覧

React + OnsenUI のタブバーでカスタムアイコンを使う方法

KentaKonno

総合スコア28

Onsen UI

HTML5で記述されたモバイルアプリの高速化、およびネイティブアプリライクなUIが作れるフレームワーク。 様々なJavaScriptフレームワークと併せて使用することができます。スマートフォン向けアプリ、Webサイトに必要なアニメーション、UI/UXを実装することが可能になります。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2019/01/19 09:29

編集2019/01/25 09:04

概要

公式ドキュメントのコード

<Page> <Tabbar onPreChange={({index}) => this.setState(index)} onPostChange={() => console.log('postChange')} onReactive={() => console.log('postChange')} position='bottom' index={this.state.index} renderTabs={(activeIndex, tabbar) => [ { content: <TabPage title="Home" active={activeIndex === 0} tabbar={tabbar} />, tab: <Tab label="Home" icon="md-home" /> }, { content: <TabPage title="Settings" active={activeIndex === 1} tabbar={tabbar} />, tab: <Tab label="Settings" icon="md-settings" /> }] } /> </Page>

上の tab: <Tab label="Home" icon="md-home" /> の行の icon= に react-fontawesome のアイコン <FontAwesomeIcon icon='faHome' /> を渡したいのですが、方法がわかりません。

ご存知の方はお教え願えませんでしょうか?

環境

node 10.15.0
npm 6.6.0
react 16.7.0
onsenui 2.10.6
react-onsenui 1.11.2

"@fortawesome/fontawesome-svg-core": "^1.2.12",
"@fortawesome/free-solid-svg-icons": "^5.6.3",
"@fortawesome/react-fontawesome": "^0.1.4",

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こんにちは

ドキュメントを調べてみると、有効なアイコンの説明 に、以下が書かれています。

Available icons

There are three kinds of icons available in Onsen UI:

・Font Awesome

・Material Icons
・Ionicons

The icon attribute is prefixed with fa- for Font Awesome, md- for Material Icons and ion- for Ionicons.

なので、おそらく "md-home""fa-home" に修正するだけでいけるのでは?と予想しました。

そこで、昨年末のご質問で、私が回答のために作ったサンプルコードに、以下の修正をしてみました。

上記の修正をするだけで、react-fontawesome 等の追加インストールをしなくても、以下のように fa-home が表示されるのを確認できました。

イメージ説明

以上、参考になれば幸いです。

追記

すみません
ご質問にある、

バンドルサイズを削減するため、アイコンパックを除去した onsenui-core.min.js をインポート

を見落としていました m(_ _)m

となると、 <Tab /> に、ご自身で、たとえば iconComponent といったpropsを追加して、

jsx

1<Tab iconComponent={<FontAwesomeIcon icon='faHome' />} />

のようなことが出来るように Tab のソースを修正することになるのでは?と思います。 そうなると、OnsenUIのissues
https://github.com/OnsenUI/OnsenUI/issues
のほうで相談してみるほうが、コミッターないしそれに近しい人から早くて確実な回答をもらえそうです。

以上、あまり役に立たなそうな回答になってしまいましたが、参考になれば幸いです。

投稿2019/01/20 01:59

編集2019/01/20 02:23
jun68ykt

総合スコア9058

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jun68ykt

2019/01/20 02:42

・・・とはいえ、ちょっと考えてみます。
KentaKonno

2019/01/21 08:11

昨年末の質問に続き、お手数をいただきありがとうございました。 やはり Tab のソースを直接さわるしかなさそうですね。 また、ご紹介いただいた OnsenUI の issues にも行ってみようと思います。 わたしの英語で技術的な表現が伝わるかどうか… ありがとうございました。
jun68ykt

2019/01/22 15:37

こんにちは。 公式トップ https://ja.onsen.io/ の右上のメニューから「リソース」 -> 「コミュニティ」とクリックすると、以下に行きます。 https://teratail.com/tags/Monaca ですので、OnsenUI のご質問をされるときは タグ "Monaca" を追加するとよいかもしれませんね。
KentaKonno

2019/01/25 09:03

重ね重ねありがとうございます。 今後はそのようにさせて頂きます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問