单击对Element.io中的禁用菜单项起作用,并且事件未定义

时间:2018-08-21 12:35:14

标签: javascript vuejs2 event-handling

我有一个包含菜单项的菜单选项卡,其中必须禁用一项。我正在使用Element。组件为Navmenu

<template>
 <el-menu mode="horizontal" :default-active="route" :router="true">
 <el-menu-item route="/one" index="one">Tab One</el-menu-item>
 <el-submenu index="additional">
 <el-menu-item index="disableMe" disabled> Disable Me </el-menu-item>
 </el-submenu>
</template>

click事件在'Disable Me'上有效,即使它已被禁用,因此我试图捕获该事件并阻止默认操作。

  <el-menu-item index="disableMe" disabled v-on:click.self.prevent> Disable Me </el-menu-item>

发生错误,未定义事件preventdefault()

我尝试了另一种选择,即添加了click以捕获事件,然后调用preventdefault()函数。

 <el-menu-item index="disableMe" @click="disabled"> Disable Me </el-menu-item>

  disabled (event) {
    event.preventDefault();
    event.target.disabled = true;
  }

未定义event.preventDefault()错误

我尝试了另一种选择,即添加了click以捕获事件并明确传递了事件

  <el-menu-item index="disableMe" @click="disabled('disabling element', $event)"> Disable Me </el-menu-item>

  disabled (msg, event) {
    event.preventDefault();
    event.target.disabled = true;
  }

未定义event.preventDefault()错误。

周围还有其他工作吗,或者我在这里做错了什么?

编辑:我不得不更新npm库,并且它起作用了。 *叹气*

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题。当我阅读2.4.11的文档时,我发现我使用的版本是元素2.0.11。不幸的是,在侧边栏中的2.0.11版本中没有禁用属性。如果可以更新该元素,我认为您可以解决问题。如果要编写自己的事件,我认为您需要首先阅读有关组件的源代码。希望对您有所帮助。