vue v-for循环tr,要给每个tr加上右键菜单,并使菜单中的值可以替换tr中的值,该怎么做?

新手上路,请多包涵

showdata:function (c,n,m,event) {

            var obox = document.getElementById("abox");

                    document.oncontextmenu= function (ev) {

                        var e = ev || window.event;
                        var x = e.clientX;
                        var y = e.clientY;
                        obox.style.cssText = "display:block;top:" + y + "px;left:" + x + "px;";

                        return false;
                    };

                    document.onclick = function (e) {

                        obox.style.display = "none";

                    }
                    
                    

<td id="classdata" class="classdate" oncontextmenu="return false;" v-on:mousedown="showdata(c,n,m,$event)" style="border-color: gray;text-align: center;border-width: 1px;border-style: solid;overflow:hidden;" v-for="(y,m) in c.schelist">

                            <div class="data-cell" style="width: 156px;font-size: 17px;">
                                <span>{{y.className}}({{y.beginTime}}-{{y.endTime}})</span>
                            </div>
                        </td>
                        

我这样做,只能给第一个加上右键菜单,后面的都没有效果。如何使菜单中的值可以替换tr中的值?

阅读 2.3k
1 个回答
<tr v-for="item in dataArr" @contextmenu="contextmenuFunc(item)">
      {{item.a}} {{item.b}} ...
 </tr>

在右键点击的时候将当前tr循环的传进去,右键菜单中的值使用model动态修改就好了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题