効率的に要件を満たし、車輪の再発明を回避します。本日ご紹介したいのは、右クリック メニューをできるだけ短時間で実装する方法です。方法も非常に簡単で、プラグインで実行できます。簡単に言うと、効果の画像は次のとおりです。 レンダリングインストール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をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Dockerコンテナ間の通信と外部ネットワーク通信の操作
コラムを更新してからどれくらい経ったでしょうか?半年ですか?今年の後半は、まさに離陸、つまり文字通り...
Centos7 の起動プロセス: 1.post(電源投入時のセルフテスト) 電源投入時のセルフテスト...
目次1. マスタースレーブ同期原理マスタースレーブ同期アーキテクチャ図(非同期同期)マスタースレーブ...
最近、会社でたまたま生放送をしていたのですが、今日は私が遭遇した落とし穴を記録します。会社のサーバー...
最近、メンバーがテストできるようにプロジェクトをパッケージ化する必要がありますが、パッケージ化された...
目次序文 👀リサーチを始めましょう🐱🏍オリジナル🧶 indexOf を使用した元の方法の最適化 ✍...
矢が放たれる前に、弓は矢にささやきました。「お前の自由は私のものだ。」スキーマは矢のようなもので、弓...
目次1. 基本タイプ2. オブジェクトタイプ2.1 配列2.2 タプル2.3 オブジェクト3. 型推...
目次目的npm init および package.json ファイルモジュールのインストールと管理モ...
まとめシナリオによっては、レコードがない場合は挿入し、レコードがある場合は更新するという要件がある場...
序文Linux には、ネットワーク接続、プロセス、およびその他の情報をリアルタイムで収集するための対...
データベース管理システムにおける同時実行制御のタスクは、データベース内の同じデータに同時にアクセスす...
この記事は参考までにmysql 8.0.19 winx64.zipのインストールチュートリアルを記録...
Toutiao IT School で、CSS がフロントエンドの画像変形の問題を完璧に解決するとい...
この記事では、vueの大画面表示適応の具体的なコードを参考までに紹介します。具体的な内容は以下のとお...