【Vue】tailwindcssでSVGアイコンを使う方法

Vue.js

Vueでtailwindcssを使っているときに、SVGアイコンを使う方法を紹介します。

SVGアイコン提供元

SVGアイコンを提供しているところはいろいろありますが、heroiconsがtailwindcssを使用する場合を想定して作られていて、使いやすいです。 アイコンをクリックしてSVGを選択して、そのままtemplateタグに貼り付けるだけで利用することが可能です。 npmを使って利用する場合は下のような手順になります。

ライブラリをインポート


npm install @heroicons/vue
上のコマンドでプロジェクトにライブラリをインポートします。

template

<template>
  <div>
    <UserIcon class="h-5 w-5 text-red-500"/>
    <span>...</span>
  </div>
</template>
コンポーネントとして使います。

script

<script>
import { UserIcon } from '@heroicons/vue/solid'

export default {
  components: { UserIcon }
}</script>
必要なものだけimportして、componentsに登録することで使えるようになります。 名前を指定するときは上のサイトかjsファイルの中身をすべて確認できる公式サイトのhttps://unpkg.com/browse/@heroicons/vue@1.0.1/outline/から調べるといいです。

アウトラインとソリッド

アウトラインのSVGアイコンが必要な場合、’@heroicons/vue/outline’をインポートします。 ソリッドのSVGアイコンが必要な場合、’@heroicons/vue/solid’をインポートします。
import { UserIcon } from '@heroicons/vue/solid'
import { ClockIcon } from '@heroicons/vue/outline'

Vue.js

Posted by devsakaso