忘れないように記録しとこ

カバの樹

Vue.jsでローディング付きのチェックボックスを実装する「vue-loading-checkbox」

2020年12月22日

vue-loading-checkboxとは

vue-loading-checkboxは、チェックボックスの値が切り替わる時に、ローディングアニメーションを実行するコンポーネントライブラリです。

 

【動画サイズ:35KB】

 

環境

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

 

ライブラリの取得

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

npm

npm install vue-loading-checkbox --save

CDN

<script src="https://cdn.jsdelivr.net/npm/vue-loading-checkbox@0.2.0/dist/LoadingCheckbox.umd.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vue-loading-checkbox@0.2.0/dist/LoadingCheckbox.css">

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

 

導入手順

管理人が行った、動作確認サンプルを実装するために、以下の手順でソースコードを導入していきます。
このサンプルでは、チェックボックスの値が切り替わる時に、ローディングアニメーションを実行するコンポーネントを実装します。

 

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

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

ES6等で実装する場合

import LoadingCheckbox from 'vue-loading-checkbox'
import 'vue-loading-checkbox/dist/LoadingCheckbox.css'

UMDで実装する場合

const LoadingCheckbox = window['LoadingCheckbox']

 

step.2 メソッドを設定


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

new Vue({
  el: '#app',
  components: {
    LoadingCheckbox
  },
  data: {
    checked: false,
    loading: false
  },
  methods: {
    toggleStatus: function() {
      this.loading = true;
      let self = this;
      setTimeout(function() {
        self.loading = false
        self.checked = !self.checked
      }, 2000)
    }
  }
});

 

step.3 テンプレートを準備

<loading-checkbox>を配置します。

:checked にチェックされているかをBoolで設定します。

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

<div id="app">
  <loading-checkbox
    :checked="checked"
    :loading="loading"
    label="チェックボックス"
    @click.native="toggleStatus"
  ></loading-checkbox>
</div>

 

サンプル

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

 

さいごに

チェックボックスの値が切り替わる時に、ローディングアニメーションを実行するコンポーネントライブラリでした。

今日はこの辺でー

 

  • B!