Vue.jsでオートコンプリートを実装する「vueto-complete」

2020年10月26日

vueto-completeとは

vueto-completeは、オートコンプリートを実装できるコンポーネントライブラリです。

主だった特徴として、

・機能とコンポーネントの分離
・通常のリストとAjaxフェッチのサポート
・結果のグループ化
・フィルタリング

を搭載しています。

 

【動画サイズ:192KB】

 

環境

この記事は、以下の管理人の検証環境にて記事にしています。

vue.js 2.6.10
vueto-complete 0.1.21

 

ライブラリの取得

ライブラリを取得するには、npm, yarn, CDNのどれか一つを使用します。

npm

npm install --save vueto-complete

yarn

yarn add vueto-complete

CDN

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vueto-completet.umd.min.js"></script>

gitリポジトリは以下から取得できます。

 

導入手順

管理人が行った、動作確認サンプルを実装するために、以下の手順でソースコードを導入していきます。
このサンプルでは、オートコンプリートを実装します。

 

step
1
ライブラリの呼び出し

まずライブラリを呼び出す為に、以下の2通りのケースで呼び出します。

ES6等で実装する場合

import VuetoComplete from 'vueto-complete';

UMDで実装する場合

const VuetoComplete = window['vueto-completet']; 

 

step
2
メソッドを設定


上記で取得した  VuetoComplete components に取り込みます。

new Vue({
  el: '#app',
  components: {
    'vueto-complete':VuetoComplete
  },
  data: {
    query: '',
    styles: {
      container: {
         maxWidth: '500px',
      },
      input: {
         border: '1px solid gray',
      },
      focusedInput: {
         background: '#e0e0e0',
      },
    },
    list: [
      'Cairo, Egypt',
      'Cairo, Thomasville, United States',
      'Cairo, Southwest Illinois, United States',
      'Giza, Cairo, Egypt',
      'Cairo, Central West Virginia, United States',
      'Cairo Montenotte, Savona - Riviera Delle Palme, Italy',
    ],
  }
});

 

step
3
テンプレートを準備

<vueto-complete>タグを配置します。

サンプルはケバブケースで記載しています。

<div id="app">
  <vueto-complete
    v-model="query"
    :auto-complete-list="list"
    :styles="styles"
  >
  </vueto-complete>
</div>

 

サンプル

今回のソースを実際に触って確認できるようにデモを用意しました。

See the Pen Vue.jsでオートコンプリートを実装する「vueto-complete」 by カバの樹 (@kabanoki) on CodePen.dark

 

さいごに

オートコンプリートを実装できるコンポーネントライブラリでした。

今日はこの辺でー

 

  • この記事を書いた人

カバノキ

印刷会社のWEB部隊に所属してます。 WEB制作に携わってから、もう時期10年になります。 普段の業務では、PHPをメインにサーバーサイドの言語を扱っています。 最近のお気に入りはJavascriptです。 Vue.jsを狂喜乱舞しながら、社内に布教中です。

-Autocomplete, UI Components, vue.js, ライブラリ
-, , , , ,