はじめに

Vue.js で矢印キーや Enter キーによるキーボード操作が可能なコンテキストメニュー(右クリックメニュー)を表示する方法。

調査/検証 したところ rawilk/vue-context を使うのが一番楽だったので、基本的には vue-context の使い方についてのまとめ。

TL;DR

  • rawilk/vue-context だとキーボード操作にデフォルトで対応
  • ネストは li.v-context__subul.v-context を使う
    • , キーによる階層の移動が可能
  • スタイルは .v-context li, .v-context li a:hover, .v-context li a:focus あたりで変更
続きを読む

はじめに

Vue.js で入力フォーム フォーカス中に Enter キーで Submit させる方法について整理した。

ほぼ参考サイトの通り。

TL;DR

  • 単純に @keyup.enter を使うと、日本語変換での確定 Enter も対象になる
  • @keypress.enter だと、日本語変換での確定 Enter は発火しない
  • 組み合わせてフラグ管理することで実現
続きを読む

はじめに

Vue.js でキーボード操作で要素間を移動させる方法について整理した。

イメージとしてはツリービューみたいなやつとかを、 キーで移動するような感じ。

TL;DR

  • tabindex を移動させたい要素に設定
  • @keyup.up.exact, @keyup.down.exact でイベントハンドラを設定
  • ハンドラ内で次要素の tabindex を算出して focus
続きを読む

はじめに

特殊な要件だが、Tippy Instance を生成せずに隠す方法を調べた。

TL;DR

続きを読む

はじめに

axios で、添付ファイルありのリクエストを送信する方法を整理した。

【React】axiosを使用してmultipart/form-data形式の通信をする - モノクロタイム を参考にさせてもらった。

TL;DR

続きを読む

はじめに

サーバ(Node.js)からプッシュ通知を送信する方法として、firebase-admin を使って簡単なプッシュ通知を送信する方法を整理した。

関連: Vue + Cordova + Firebase でプッシュ通知

TL;DR

続きを読む

はじめに

Vue.js で画像プレビューする方法を整理した。

基本的に たった2ステップ!Vue.js で選択画像をプレビューする方法(サンプルDL可) – console dot log の通り。

TL;DR

  • <input type="file">@change でイベントハンドラを設定
  • イベントハンドラ内で FileReaderreadAsDataURLdata: url として読み込み
  • 読み込み完了したら Vue の datadata: url を設定
  • <img :src="dataUrl>` のようにバインドして表示
続きを読む

はじめに

Vue + Cordova + Firebase でプッシュ通知を利用する方法を整理した。

※Firebase やプッシュ通知の細かい仕様については詳しくないため、最新/最適 でない方法の可能性があることに注意。
※試行錯誤を経て成功した後に情報を整理しているので、手順漏れや実施タイミングが異なるものなどがあるかもしれないことに注意。

関連: Node.js で firebase-admin を使ってサーバからプッシュ通知

TL;DR

続きを読む

はじめに

ツールチップを簡単に表示できる atomiks/tippyjs を触る機会があったので、簡単に使い方を整理した。

デモページ

本記事は tippy v5 系を利用しているので、最新 v6 系(2020/08/01 現在)と挙動や設定が異なる可能性あり

TL;DR

  • tippy(<target>, { content: 'my tooltip' }) でツールチップを設定
    • <target> はセレクタ(#id など)でも、Node(document.querySelector('#id') など)でも OK
  • content に HTML も設定可能
    • tippy(<target>, { content: '<strong>my tooltip</strong>' })
    • tippy(<target>, { content: 'my<br>tooltip', allowHTML: true })
  • 既存テーマを利用する場合は CSS を読み込んで theme: 'light のように指定
続きを読む

はじめに

「画像クリックで拡大」を簡単に実現できる imgix/luminous を触る機会があったので、簡単に使い方を整理した。

デモページ を見ると、何ができるのかがすぐわかる。

TL;DR

  • npm i luminous-lightbox でインストール
    • CDN: <script src="https://cdnjs.cloudflare.com/ajax/libs/luminous-lightbox/2.3.2/luminous.min.js"></script>
  • <a href="拡大画像"><img src="サムネイル"></a> に対して以下を実行
    • new Luminous(document.querySelector('a'))
  • ギャラリー表示の場合は LuminousGallery を使用
    • new LuminousGallery(document.querySelectorAll('a'))
続きを読む

r17n


Softwear Engineer


Fukuoka