我有一个包含菜单项的菜单选项卡,其中必须禁用一项。我正在使用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库,并且它起作用了。 *叹气*
答案 0 :(得分:0)
我遇到了类似的问题。当我阅读2.4.11的文档时,我发现我使用的版本是元素2.0.11。不幸的是,在侧边栏中的2.0.11版本中没有禁用属性。如果可以更新该元素,我认为您可以解决问题。如果要编写自己的事件,我认为您需要首先阅读有关组件的源代码。希望对您有所帮助。