问题:二级下拉菜单实现及点击二级下拉菜单项,一级菜单同时消失
代码如下:
<div v-for="(nav,index) in navigatorData" :key="index" class="block">
<el-dropdown trigger="click" @command="handleCommand" placement="bottom-start" :hide-on-click="false" :ref="'operationDropdownMenuRef' + index">
<span @click="navigatorChange(index)">{{ nav }}</span>
<el-dropdown-menu slot="dropdown" class="menu-item">
<template v-for="(item, itemIndex) in options">
<el-dropdown-item v-if="!item.children" :key="itemIndex" @click.native="restoreDefault(index)" :command="item.command" :divided="nav === '文件(F)' && itemIndex === 1 || itemIndex === 4 || itemIndex === 7">
<div class="item-container">
<span>{{ item.label }}</span>
<span>{{ item.shortcut }}</span>
</div>
</el-dropdown-item>
<el-dropdown-item v-else :key="itemIndex" :command="item.command" :divided="itemIndex === 6">
<el-dropdown placement="right-start" trigger="hover" @command="handleCommand">
<div class="item-container">
<span>{{ item.label }}</span>
<i class="el-icon-caret-right"></i>
</div>
<el-dropdown-menu slot="dropdown" class="update-elui-style" :append-to-body="false">
<template v-for="(child, childIndex) in item.children">
<el-dropdown-item :key="childIndex" :command="child.command" @click.native="restoreDefault(index)">
<span>{{ child.label }}</span>
</el-dropdown-item>
</template>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown-item>
</template>
</el-dropdown-menu>
</el-dropdown>
</div>
// 关闭下拉菜单
restoreDefault(index) {
this.$refs[`operationDropdownMenuRef${index}`][0].hide()
},