鍍金池/ 問答/HTML/ VUE如何實(shí)現(xiàn)給幾個(gè)按鈕綁定相同的右鍵彈出菜單,但是在右鍵菜單中能識別出當(dāng)前右鍵

VUE如何實(shí)現(xiàn)給幾個(gè)按鈕綁定相同的右鍵彈出菜單,但是在右鍵菜單中能識別出當(dāng)前右鍵所點(diǎn)擊的按鈕?

1、現(xiàn)在項(xiàng)目遇到這樣一個(gè)問題,設(shè)備上的單盤用按鈕來展示,然后每個(gè)按鈕都有右鍵菜單,需要給不同的單盤使用右鍵彈出菜單的時(shí)候選擇配置之類的,這時(shí)就需要識別出當(dāng)前的單盤類型,以便彈出不同的彈框。

<v-contextmenu ref='contextmenu' :theme='theme'>
  <v-contextmenu-item v-on:click='setClick()'>板卡配置</v-contextmenu-item>
  <v-contextmenu-item v-on:click='getClick()'>查看明細(xì)</v-contextmenu-item>
</v-contextmenu>

<el-row style='margin-top: 10px'>
  <el-col :span='1'>
    <div class='mainSubrack-front-view-css'>正面視圖</div>
  </el-col>
  <el-col :span='21'>
    <div>
      <el-button v-contextmenu:contextmenu :key="index" class='slotCss3' v-for='(card, index) in cards'
                 v-if='index >15 && index <22'>
        <template v-if='card.flag'>
          <span>{{index + 1}}</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span v-for='aaa in card.name'>{{aaa}}</span>
        </template>
        <template v-if='!card.flag'>
          <span>{{index + 1}}</span>
        </template>
      </el-button>
    </div>
    <div style='margin-bottom: 2px'>
      <el-button v-contextmenu:contextmenu :key="index" class='slotCss2' v-for='(card, index) in cards'
                 v-if='index >= 14 && index <= 15'>
        <template v-if='card.flag'>
          <span>{{index + 1}}</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span v-for='aaa in card.name'>{{aaa}}</span>
        </template>
        <template v-if='!card.flag'>
          <span>{{index + 1}}</span>
        </template>
      </el-button>
    </div>
  </el-col>
  <el-col :span='1'>
    <el-button v-contextmenu:contextmenu :key="index" v-for='(card, index) in cards'
               class="mainSubrack-card-slot-23-css" v-if='index === 22'>
      {{index + 1}}
      <br/><br/><br/>
      <template v-if='card.flag'>
        <div v-for="aaa in card.name">
          {{ aaa }}<br/><br/>
        </div>
      </template>
      <template v-else>
        <div v-for="aaa in card.name">
          <br/>
        </div>
      </template>
      <br/><br/><br/><br/><br/><br/>
    </el-button>
  </el-col>
</el-row>

<el-row>
  <el-col :span='1'>
    <div class='mainSubrack-back-view-css'>背面視圖</div>
  </el-col>
  <el-col :span='23'>
    <div style='margin-top: 40px'>
      <el-button v-contextmenu:contextmenu :key="index" class='mainSubrack-back-view-1-14-css'
                 v-for='(card, index) in cards' v-if='index < 14'>
        {{index + 1}}<br/><br/>
        <template v-if='card.flag'>
          <div v-for='aaa in card.name'>{{aaa}}</div>
        </template>
        <template v-else>
          <div v-for='aaa in card.name'><br/></div>
        </template>
        <br/><br/><br/><br/><br/><br/><br/>
      </el-button>
    </div>
  </el-col>
</el-row>
<!-- 彈窗-->
<div>
  <mcpCardConfig v-if="cardConfigVisiable[0].mcp" ref="mcpCardConfig"></mcpCardConfig>
  <mcpCardDetail v-if="cardDetailVisiable[0].mcp" ref="mcpCardDetail"></mcpCardDetail>
  <rbCardConfig v-if="cardConfigVisiable[1].rb" ref="rbCardConfig"></rbCardConfig>
  <rbCardDetail v-if="cardDetailVisiable[1].rb" ref="rbCardDetail"></rbCardDetail>
</div>


3、
clipboard.png

4、如上圖所示,不同的單盤類型在點(diǎn)擊右鍵選擇配置或查看的時(shí)候能識別出當(dāng)前的按鈕的一些屬性(比如MCP、RB之類的)

回答
編輯回答
怪痞

打印下$event.target就清楚了,

$event.target.innerText可以取到按鈕的值

2018年4月16日 15:55
編輯回答
你的瞳

方法很多, 具體根據(jù)需求來

  1. 幾個(gè)按鈕加載的順序是一樣的 綁定事件時(shí)候傳入$index索引, 通過索引去做判斷
  2. 直接傳入名稱做判斷,如截圖上的RB、MCP等等
2017年9月30日 22:38