ElementPlus中實現(xiàn)自定義右鍵菜單

具體實現(xiàn)

新建div(data中別忘menuVisible享扔,用來控制菜單是否顯示)

  <div id="contextmenu" v-show="menuVisible" class="menu">
    <div class="contextmenu_item" @click="cha(currentData)">查哨</div>
    <div class="contextmenu_item" @click="shang(currentData)">上哨</div>
  </div>

設計樣式

.menu {
  position: absolute;
  background-color: #fff;
  width: 100px;
  /*height: 106px;*/
  font-size: 12px;
  color: #444040;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 3px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  white-space: nowrap;
  z-index: 1000;
}
.contextmenu_item {
  display: block;
  line-height: 34px;
  text-align: center;
}
.contextmenu_item:not(:last-child) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.contextmenu_item:hover {
  cursor: pointer;
  background: #66b1ff;
  border-color: #66b1ff;
  color: #fff;
}

給樹形控件綁定右鍵點擊事件

@node-contextmenu="rightClick"

完善右鍵點擊方法

rightClick(key, data) {
      if (data.children && data.children != null) {
        this.menuVisible = false;
      } else {
        this.currentData = data;
        this.menuVisible = false; // 先把模態(tài)框關死,目的是 第二次或者第n次右鍵鼠標的時候 它默認的是true
        this.menuVisible = true; // 顯示模態(tài)窗口博个,跳出自定義菜單欄
        key.preventDefault(); //關閉瀏覽器右鍵默認事件,key就相當于event
        console.log(data);
        var menu = document.querySelector(".menu");
        this.styleMenu(key, menu);
      }
    },
    foo() {
      // 取消鼠標監(jiān)聽事件 菜單欄
      this.menuVisible = false;
      document.removeEventListener("click", this.foo); // 關掉監(jiān)聽,
    },
    styleMenu(key, menu) {
      document.addEventListener("click", this.foo); // 給整個document新增監(jiān)聽鼠標事件,點擊任何位置執(zhí)行foo方法
      console.log(key.clientX);
      menu.style.left = key.clientX - 180 + 10 + "px";
      menu.style.top = key.clientY - 50 - 10 + "px";
    },

具體效果

右鍵點擊效果
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末伏蚊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子膛虫,更是在濱河造成了極大的恐慌草姻,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件稍刀,死亡現(xiàn)場離奇詭異撩独,居然都是意外死亡,警方通過查閱死者的電腦和手機掉丽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進店門跌榔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人捶障,你說我怎么就攤上這事僧须。” “怎么了项炼?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵担平,是天一觀的道長。 經(jīng)常有香客問我锭部,道長暂论,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任拌禾,我火速辦了婚禮取胎,結果婚禮上,老公的妹妹穿的比我還像新娘湃窍。我一直安慰自己闻蛀,他們只是感情好,可當我...
    茶點故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布您市。 她就那樣靜靜地躺著觉痛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪茵休。 梳的紋絲不亂的頭發(fā)上薪棒,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天,我揣著相機與錄音榕莺,去河邊找鬼俐芯。 笑死,一個胖子當著我的面吹牛钉鸯,可吹牛的內(nèi)容都是我干的泼各。 我是一名探鬼主播,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼亏拉,長吁一口氣:“原來是場噩夢啊……” “哼扣蜻!你這毒婦竟也來了逆巍?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤莽使,失蹤者是張志新(化名)和其女友劉穎锐极,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體芳肌,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡灵再,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了亿笤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片翎迁。...
    茶點故事閱讀 38,625評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖净薛,靈堂內(nèi)的尸體忽然破棺而出汪榔,到底是詐尸還是另有隱情,我是刑警寧澤肃拜,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布痴腌,位于F島的核電站,受9級特大地震影響燃领,放射性物質發(fā)生泄漏士聪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一猛蔽、第九天 我趴在偏房一處隱蔽的房頂上張望剥悟。 院中可真熱鬧,春花似錦曼库、人聲如沸区岗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽躏尉。三九已至蚯根,卻和暖如春后众,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背颅拦。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工蒂誉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人距帅。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓右锨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親碌秸。 傳聞我的和親對象是個殘疾皇子绍移,可洞房花燭夜當晚...
    茶點故事閱讀 43,492評論 2 348

推薦閱讀更多精彩內(nèi)容