91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue在table表中怎么懸浮顯示數據及右鍵菜單

發布時間:2022-04-11 10:25:46 來源:億速云 閱讀:595 作者:iii 欄目:開發技術

這篇文章主要介紹“vue在table表中怎么懸浮顯示數據及右鍵菜單”,在日常操作中,相信很多人在vue在table表中怎么懸浮顯示數據及右鍵菜單問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”vue在table表中怎么懸浮顯示數據及右鍵菜單”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

懸浮顯示

這個文檔里是存在的,但很容易被忽略,先看看效果圖

vue在table表中怎么懸浮顯示數據及右鍵菜單

鼠標放在哪行,就會彈出相對應的描述。

直接看代碼

//列名及屬性名
<el-table-column prop="member"  label="構件名稱">
//從json數據調取
    <template slot-scope="scope">
    //懸浮顯示數據
    <el-popover trigger="hover" placement="top" >
      <p>構建描述: {{ scope.row.memberTxt }}</p>
      <p>創建時間: {{ scope.row.date2 }}</p>
      <div slot="reference" class="name-wrapper">
      //行顯示數據
        <el-tag size="medium" >
     {{ scope.row.member }}
     //數據后加刪除按鈕
     <el-button icon="el-icon-delete" type="text" class="red" @click="handleDelete(scope.$index,scope.row)">
     </el-button>
     </el-tag>

      </div>
    </el-popover>
    </template>
</el-table-column>

只是這些就足夠了,表的設置無需做更改,用到右鍵菜單時才會更改;

右鍵菜單

這與上個可以沒有關系,也可是同一個,取決于自己!
依舊是先看圖

vue在table表中怎么懸浮顯示數據及右鍵菜單

右下角的菜單就是右鍵的菜單了;
我們來看具體實現:
首先就是表格的設置
文檔中表格有這個事件,

<el-table :data="tableData"
   type="expand"
   class="table" 
   ref="multipleTable" 
   header-cell-class-name="table-header"
   @row-contextmenu="rowContextmenu"//主要就是這個事件
   @selection-change="handleSelectionChange">

當然,在表格下面,還要寫重要的一步

<context-button v-if="menuVisible" @foo="foo" ref="contextbutton"
     @handleOne="handleOne" @handleTwo="handleTwo" @handleThree="handleThree"
     @handleFour="handleFour" @handleFive="handleFive"></context-button>

這些@handle對應點擊事件

接下來就是methods

rowContextmenu (row, column, event) {
            this.menuVisible = false
            this.menuVisible = true
            // 阻止右鍵默認行為
            event.preventDefault()
            this.$nextTick(() => {
              this.$refs.contextbutton.init(row,column,event)
        this.updForm = row;
            })
      
          },
          foo() { // 取消鼠標監聽事件 菜單欄
            this.menuVisible = false
           /* document.removeEventListener('click', this.foo) */
          },
           handleTwo () {
        
        },
        handleThree () {
        
        },
  handleFour (){
   
        },
  handleFive (row){
  
  }

那些handle開頭的方法是右鍵菜單的方法,我自己寫的就不公布了,知道是點擊按鈕事件就可以了
重點,上面我們在表格下面寫了神秘代碼就要用到了
在你使用的vue界面的目錄下創建一個“contextButton”文件夾,對應 上面的ref即可,注意大小寫!
在文件夾下創建vue頁面

首先是html,也就是右鍵菜單顯示的內容了

<template>
  <div id="contextmenu" class="contextmenu">
    <div class="contextmenu__item" @click="handleTwo()">設計信息</div>
    <div class="contextmenu__item" @click="handleThree()">查看圖紙</div>
  <div class="contextmenu__item" @click="handleFour()">查看模型</div>
   <div class="contextmenu__item" @click="handleFive()">修改信息</div>
  </div>
</template>

然后就是script

export default {
      name: "index",
      data () {
        return {
            collapse: false,                                                                                                                                                                                                                
    }
      },  methods: {
        init (row, column,event) {
         let menu = document.querySelector('#contextmenu')
          let cha = document.body.clientHeight - event.clientY
          console.log(document.body.clientHeight,event.clientY,cha)
          if (cha < 150) {
            menu.style.top = event.clientY -0 + 'px'
          } else {
            menu.style.top = event.clientY -60 + 'px'
          }
          menu.style.left = event.clientX - 200 + 'px'
             document.addEventListener('click', this.foo)
              },
        foo () {
          this.$emit('foo')
        },
         handleTwo () {
          this.$emit('handleTwo')
        },
        handleThree () {
          this.$emit('handleThree')
        },
  handleFour (){
   this.$emit('handleFour')
        },
  handleFive (row){
   this.$emit('handleFive')
  }
  }
    }

位置的話是隨著你右鍵的不同位置二不同的
如果不喜歡這個位置,可以自己改變
最后就是樣式了

 .contextmenu__item {
    display: block;
    line-height: 34px;
    text-align: center;
  }
   .contextmenu__item:not(:last-child) {
    border-bottom: 1px solid rgba(64,158,255,.2);
  }
  .contextmenu {
    position: absolute;
    background-color: #ecf5ff;
    width: 100px;  font-size: 12px;
    color: #409EFF;
    border-radius: 4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid rgba(64,158,255,.2);
    white-space: nowrap;
    z-index: 1000;
  }
  .contextmenu__item:hover {
    cursor: pointer;
    background: #66b1ff;
    border-color: #66b1ff;
    color: #fff;
  }

到此,關于“vue在table表中怎么懸浮顯示數據及右鍵菜單”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东辽县| 云南省| 仙游县| 静海县| 博乐市| 定日县| 留坝县| 宁化县| 南康市| 商南县| 清水县| 余庆县| 晋宁县| 泽州县| 孝昌县| 石阡县| 神木县| 德安县| 平安县| 黑山县| 昆明市| 晋州市| 东至县| 武义县| 舞阳县| 金秀| 临西县| 扬中市| 中牟县| 聊城市| 大余县| 多伦县| 呼图壁县| 娄烦县| 安化县| 榆树市| 秦安县| 成武县| 拜城县| 长岛县| 陕西省|