🌊

vue-selectでいい感じのセレクトボックスを実装する

2021/09/27に公開

HTMLとCSSでセレクトボックスの装飾をするの意外と面倒ですよね。
なんとか簡単にセレクトボックス作れないかな〜〜と調べたら、ありました。
僕はvue.jsをよく使うので「vue-select」という良さそうなライブラリを使ってみます。

vue-selectをインストールする

vue-selectをインストールします。

npm install vue-select

vue-selectをインポートします

僕はLaravelとVueを使っているので、app.jsでインポートします

import vSelect from 'vue-select'
import 'vue-select/dist/vue-select.css';

Vue.component('v-select', vSelect);

vue-selectでセレクトボックスを作ってみます

v-selectのコンポーネントを使用して、セレクトボックスを作ります。

optionsにセレクトボックスの項目を適用して、v-modelに選択中の値を入れるようにします。

<div id="app">
  <v-select name="selectbox" :options="options" v-model="selectedValue"></v-select>
</div>

.
.
.

  data: {
    selectedValue: '',
    options: [
      {label: '項目1', code: 1},
      {label: '項目2', code: 2},
      {label: '項目3', code: 3},
      {label: '項目4', code: 4},
    ]
  }

これだけでvue-selectでセレクトボックスが使えるようになります!

例えばセレクトボックスの幅とか背景色とかを変更したい場合はv-selectクラスにCSSを適用してあげればOKです。柔軟にスタイルを変更できて嬉しいですね。

.v-select {
    width: 60%;
    background-color: white;
}

以上で、vue-selectの使い方でした。

柔軟にスタイルも変更できて、簡単にセレクトボックスが構築できて、簡易的に書けるので嬉しいですね!

Discussion