目次
vue-select-imageとは
vue-select-imageは、画像リストの画像をクリックして、選択した画像を取得できる機能が実装されるコンポーネントライブラリです。
単体の選択機能はもちろん、複数選択を行うこともできます。
【動画サイズ:331KB】
環境
この記事は、以下の管理人の検証環境にて記事にしています。
vue.js | 2.6.10 |
vue-select-image | 1.9.0 |
ライブラリの取得
ライブラリを取得するには、npm, yarn, CDNのどれか一つを使用します。
npm
npm i vue-select-image --save
yarn
yarn add vue-select-image
CDN
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vue-select-image@1.9.0/dist/vue-select-image.css">
<script src="https://cdn.jsdelivr.net/npm/vue-select-image@1.9.0/dist/vue-select-image.js"></script>
gitリポジトリは以下から取得できます。
導入手順
管理人が行った、動作確認サンプルを実装するために、以下の手順でソースコードを導入していきます。
このサンプルでは、画像リストの画像をクリックして、選択した画像を取得できる機能を実装します。
step.1 ライブラリの呼び出し
まずライブラリを呼び出す為に、以下の2通りのケースで呼び出します。
ES6等で実装する場合
import VueSelectImage from 'vue-select-image' require('vue-select-image/dist/vue-select-image.css')
UMDで実装する場合
const VueSelectImage = window['VueSelectImage'].default;
step.2 メソッドを設定
上記で取得したVueSelectImageをVue.use
に取り込みます。
Vue.use(VueSelectImage); new Vue({ el: '#app', data: { images: [{ id: '1', src: 'https://unsplash.it/200?random', alt: 'Alt Image 1' }, { id: '2', src: 'https://unsplash.it/200?random', alt: 'Alt Image 2' }, { id: '3', src: 'https://unsplash.it/200?random', alt: 'Alt Image 3', disabled: true }, { id: '4', src: 'https://unsplash.it/200?random', alt: 'Alt Image 4', }, { id: '5', src: 'https://unsplash.it/200?random', alt: 'Alt Image 5', }], initialSelected:[{id: '5'}], SelectImage: '', SelectMultipleImage:['id:5'] }, methods: { onSelectImage:function(selected){ this.SelectImage = "id:" + selected.id }, onSelectMultipleImage:function(selected){ let arr = []; for(let i=0; i<selected.length; i++){ arr.push("id:" + selected[i].id); } this.SelectMultipleImage = arr; } } });
step.3 テンプレートを準備
<vue-select-image>
を配置します。
:data-images
に画像のデータimagesを設定します。
複数選択をするには、:is-multiple
をtrueにします。
:selected-images
にデータを設定すると、デフォルトで選択された状態になります。
オプションを使って色を設定したりできます。
サンプルはケバブケースで記載しています。
<div id="app"> <h2>Single</h2> <vue-select-image :data-images="images" @onselectimage="onSelectImage"> </vue-select-image> <p>選択中:{{SelectImage}}</p> <h2>Multiple</h2> <vue-select-image :data-images="images" :is-multiple="true" :selected-images="initialSelected" @onselectmultipleimage="onSelectMultipleImage"> </vue-select-image> <p>初期値:{{initialSelected}}</p> <p>選択中:{{SelectMultipleImage}}</p> </div>
サンプル
今回のソースを実際に触って確認できるようにデモを用意しました。
さいごに
画像リストの画像をクリックして、選択した画像を取得できる機能が実装されるコンポーネントライブラリです。
今日はこの辺でー