1分でVueが右クリックメニューを実装

1分でVueが右クリックメニューを実装

効率的に要件を満たし、車輪の再発明を回避します。本日ご紹介したいのは、右クリック メニューをできるだけ短時間で実装する方法です。方法も非常に簡単で、プラグインで実行できます。簡単に言うと、効果の画像は次のとおりです。

レンダリング

インストール

npm インストール vue-contextmenujs

または

yarn に vue-contextmenujs を追加

使用

「vue-contextmenujs」からコンテキストメニューをインポートします。
Vue.use(コンテキストメニュー);

コードの実装

右クリック メニューを実装するには、element-ui アイコンを例に挙げます。アイコンは <i class="icon"></i> としてレンダリングされます。コードは次のとおりです。

<テンプレート>
  <div style="width:100vw;height:100vh" @contextmenu.prevent="onContextmenu"></div>
</テンプレート>

<スクリプト>
'vue' から Vue をインポートします
「vue-contextmenujs」からコンテキストメニューをインポートします。
Vue.use(コンテキストメニュー);
エクスポートデフォルト{
  メソッド: {
    onContextmenu(イベント) {
      this.$contextmenu({
        アイテム: [
          {
            ラベル: "戻る (B)",
            クリック時: () => {
              this.message = "戻る (B)";
              console.log("return(B)");
            }
          },
          { ラベル: "Forward(F)", 無効: true },
          { ラベル: "リロード (R)"、divided: true、アイコン: "el-icon-refresh" }、
          { ラベル: "(A) として保存..." },
          { ラベル: "印刷 (P)...", アイコン: "el-icon-printer" },
          { ラベル: "投影 (C)...", 分割: true },
          {
            ラベル: "Web翻訳を使用する (T)",
            分割: 真、
            最小幅: 0,
            子: [{ label: "簡体字中国語に翻訳" }, { label: "繁体字中国語に翻訳" }]
          },
          {
            ラベル: "Web ページをキャプチャ (R)"、
            最小幅: 0,
            子供たち: [
              {
                ラベル: 「視覚化領域を切り取る」、
                クリック時: () => {
                  this.message = "視覚化領域をキャプチャ";
                  console.log("インターセプト視覚化領域");
                }
              },
              { ラベル: "全画面をキャプチャ" }
            ]
          },
          { ラベル: "ページのソースコードを表示 (V)", アイコン: "el-icon-view" },
          { ラベル: "チェック(N)" }
        ]、
        event, // マウスイベント情報 customClass: "custom-class", // カスタムメニュークラス
        zIndex: 3, // メニュー スタイルの z インデックス
        minWidth: 230 // メインメニューの最小幅 });
      false を返します。
    }
  }
};
</スクリプト>

メニュー オプションはすべて items 配列内にあり、必要に応じて構成できます。このとき、右ボタンをクリックすると、メニューポップアップウィンドウが魔法のように表示されます。とても簡単ですね!

カスタムスタイル

コンソールを開いて要素を表示し、メニューのクラス名を確認します。最も外側のクラスは上記の customClass 属性で設定された値であり、スタイルは必要に応じて調整できます。

<スタイル>
.custom-class .menu_item__available:hover、
.custom-class .menu_item_expand {
  背景: #ffecf2 !重要;
  色: #ff4050 !重要;
}
</スタイル>

要約する

以上が基本的な使用方法ですが、自分で梱包するよりも大幅に時間が節約できます。左ボタンをクリックするか、ホイールをスクロールすると、メニューは自動的に破棄されることに注意してください。他のシナリオでは、this.$contextmenu.destroy() を呼び出してメニューを破棄することもできます。プラグインの構成パラメータは次のとおりです。

MenuOptions メニューのプロパティ

MenuItemOptions オプションのプロパティ

1分でVueで右クリックメニューを実装する方法についての記事はこれで終わりです。Vueの右クリックメニューに関するより詳しい内容については、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue のカスタム右クリックメニュープラグイン
  • 右クリックメニューをカスタマイズするVueネイティブメソッド
  • Vueは右クリックメニューバーを実装します
  • Vueはカスタムグローバル右クリックメニューを実装します
  • Vue の右クリック メニューのシンプルなカプセル化
  • Vue にカスタム右クリックメニューを追加する完全な例
  • Vue で右クリック メニューをカスタマイズする方法
  • ネイティブVueは右クリックメニューコンポーネント機能を実装します
  • Vue の Table コンポーネント行に右クリック メニューを実装する方法 (vue + AntDesign ベース)
  • Vue el-table は右クリックメニュー機能を実装します

<<:  Dockerコンテナ間の通信と外部ネットワーク通信の操作

>>:  iframe 適応サイズ実装コード

推薦する

Ubuntu 14.04 で QT5 をインストール、設定、アンインストールするための詳細な手順

1. 以前 QT5.13 バージョンをダウンロードしましたが、インストール後、Qtcreator を...

Windows で Nginx を使用して https サーバーとリバース プロキシを構成する際の問題

リクエストロジックフロントエンド --> https経由でnginxをリクエストnginx -...

Apache Webサーバーのインストールと設定方法

信頼性が高く、人気があり、簡単に構成できる Web サーバーである Apache で独自の Web ...

JavaScript の 50 以上のユーティリティ関数の概要

JavaScript は多くの素晴らしい機能を備えています。この記事では、作業効率の向上とコードのデ...

SQL文のANDとORの実行順序で発生する問題

質問昨日、データベースSQLを書いているときに問題が発生しました。問題の根本は、SQL ステートメン...

DIV の一般的なタスク (パート 1) — 一般的なタスク (スクロール バーの表示、div の非表示、イベント バブリングの無効化など)

最も一般的に使用されるレイアウト要素として、DIV は Web 開発において重要な役割を果たします。...

Vue+elementを使用してページ上部のタグを実装する方法の詳細な説明

目次1. ページレンダリング2. タグを切り替える3. タグを削除するこのようなタグはどのように記述...

Dockerを使用してLaravel開発環境を構築するための完全な手順

序文この記事では、Docker を使用して、ローカル コンピューターにインストールされている開発スイ...

JavaScript クロージャの詳細

目次1. クロージャとは何ですか? 2. 閉鎖の役割序文: JavaScript部分ではクロージャが...

Linux でファイル権限を変更する chmod コマンドの詳細な分析

Linux chmodコマンドを使用して、ターゲット ファイルにアクセス、読み取り、書き込み、または...

ウェブページにコンテンツが多すぎる場合に、下から上へ素早く戻る方法

Web フロントエンド開発では、ページに多くの記事を表示することが避けられません。記事の最後にあるク...

node.js で Web サーバーを作成する手順の詳細な説明

序文node.js でサーバーを作成するのは非常に簡単です。小さいながらも完全な Web サーバーを...

一般的な HTTP ステータス コード 10 個の詳細な説明

HTTP ステータス コードは、Web サーバーの HTTP 応答ステータスを示すために使用される ...

Web デザイン リファレンス Firefox デフォルト スタイル

W3C は HTML の標準をいくつか確立していますが、ブラウザは独自の定義済みスタイルに従って W...

HTMLページのヘッダーコードは完全に明確です

以下のコードはすべて <head>...</head> の間にあり、具体的な...