CyberNika / v-contextmenu

🖱 ContextMenu based on Vue 3 & Vue 2
https://cybernika.github.io/v-contextmenu/
MIT License
925 stars 115 forks source link

动态绑定的元素,无法挂载到菜单 #32

Closed lerit closed 6 years ago

lerit commented 6 years ago
<template>
  <div class="example">
    <v-contextmenu ref="contextmenu1" :theme="theme">
      <v-contextmenu-item>菜单1</v-contextmenu-item>
      <v-contextmenu-item>菜单2</v-contextmenu-item>
      <v-contextmenu-item>菜单3</v-contextmenu-item>
    </v-contextmenu>
 <span v-for="(data,index) in datas" :key="index" v-contextmenu:contextmenu1>右键点击此区域{{data}}</span>
  </div>
</template>
<script>
  export default {
    name: 'Multiple',
    props: {
      theme: String,
    },
 data() {
      return {
        datas: []
        }
  },
    mounted() {
      setTimeout(() => {// 模拟异步加载过程,延时
        this.datas = [1, 2, 3, 4]
      }, 2000);
    },
    methods: {},
  }
</script>

当前数据是通过异步加载出来的,则菜单不会挂载到数据上。 如果一开始datas就有数据,就可以,但是我认为菜单应该支持相应数据变化

jian22446688 commented 6 years ago

可以使用自定义 显示隐藏 可解决这个问题

lerit commented 6 years ago

应该可以解决吧。但是我觉得作为一个vue的ui组件,应该也是响应式的,监测数据变化自动挂载,最好在组件内部实现