長押しでアクションするボタン「vue-longpress」

2020年1月28日

長押しでアクションするボタン「vue-longpress」

vue-longpressとは

vue-longpressは、指定した時間長押しをし続けるとアクションを起こせるボタンを実装できるコンポーネントライブラリです。

 

長押しでアクションするボタン「vue-longpress」

 

環境

Vue 2.6.10
vue-longpress 1.0.2

インストール

以下のnpmCDNを使ってインストールします。

npm

npm install vue-longpress --save

CDN

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

 

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

https://github.com/javisperez/vuelongpress

 

導入手順

1. ライブラリの取り込み

(1)webpack等の場合 [注意]モジュール版は未検証です。

import Longpress from 'vue-longpress';

(2)WEBページの場合

const VueLongpress = window['VueLongpress'];

2.メソッドを設定

上記で取得したVueLongpresscomponentsに取り込みます。
長押しをするとボタンを削除するdoDeletメソッドを準備します。

new Vue({
  el: '#app',
  components: {
    longpress: VueLongpress
  },
  methods: {
    doDelete() {
      this.$destroy();
      this.$el.parentNode.removeChild(this.$el);
    }
  }
});

3. テンプレートを準備

<longpress>を設置します。

 

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

<div id="app">
  <longpress 
    ref="btn"
    class="btn btn-primary"
    duration="1" 
    :on-confirm="doDelete"
    pressing-text="{$rcounter} 秒後に削除します。" 
    action-text="削除中です・・・">長押しでボタンを削除する</longpress>
</div>

 

サンプル

>>専用ページで確認する

 

さいごに

指定した時間長押しをし続けるとアクションを起こせるボタンを実装できるコンポーネントライブラリでした。

 

今日はこの辺でー

 

  • この記事を書いた人

カバノキ

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

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