如何将孙子菜单对象的属性传递给祖父母?

雅库

我的雇主决定用另一个子页面扩展菜单栏,以前完全正常的东西(简单的一个子菜单)现在不想工作了,因为它有子菜单,在另一个子菜单下。这是图片:

在此处输入图片说明

正如您所看到的,当我将鼠标悬停在“Acts”上时,带有外部和内部文档的子菜单运行良好 在此处输入图片说明

但是当我想将光标移动到带有“导演命令”的另一个子菜单上时,整个菜单都隐藏了。我认为这是因为第二个子菜单(孙子)不会将信息传递给主菜单元素(祖父)以保持菜单处于活动状态,但我不知道如何修复它。这是代码:

<v-menu open-on-hover bottom offset-x transition="slide-x-transition">
      <template v-slot:activator="{ on }">
      <v-list-item link v-on="on">
        <v-list-item-content>
          <v-list-item-title class="subtitle-1">Acts <v-icon class="menu-icon">keyboard_arrow_right</v-icon></v-list-item-title>
        </v-list-item-content>
      </v-list-item>
      </template>
          <v-list color="#F0FAFE">
            <router-link to="/External"><v-list-item link>
              <v-list-item-content>
                <v-list-item-title class="subtitle-1 font-weight-medium">External</v-list-item-title>
              </v-list-item-content>
            </v-list-item></router-link>
            <v-menu open-on-hover bottom offset-x transition="slide-x-transition">
            <template v-slot:activator="{ on }">
            <v-list-item link v-on="on">
              <v-list-item-content>
                <v-list-item-title class="subtitle-1 font-weight-medium">Internal <v-icon class="menu-icon">keyboard_arrow_right</v-icon></v-list-item-title>
              </v-list-item-content>
            </v-list-item>
            </template>
              <v-list color="#F0FAFE">
                <v-menu open-on-hover bottom offset-x transition="slide-x-transition">
                <template v-slot:activator="{ on }">
                  <v-list-item link v-on="on">
                  <v-list-item-content>
                    <v-list-item-title class="subtitle-1 font-weight-medium">Director's Orders <v-icon class="menu-icon">keyboard_arrow_right</v-icon></v-list-item-title>
                  </v-list-item-content>
                </v-list-item>
                </template>
                  <v-list
                  color="#F0FAFE"
                  v-for="(item, index) in Orders"
                  :key="index"
                  >
                    <router-link :to="'/' + item.title"><v-list-item link>
                      <v-list-item-content>
                        <v-list-item-title class="subtitle-1 font-weight-medium">{{ item.title }}</v-list-item-title>
                      </v-list-item-content>
                    </v-list-item></router-link>
                  </v-list>
                </v-menu>
                <router-link to="/Other"><v-list-item link>
                  <v-list-item-content>
                    <v-list-item-title class="subtitle-1 font-weight-medium">Other</v-list-item-title>
                  </v-list-item-content>
                </v-list-item></router-link>
              </v-list>
            </v-menu>
          </v-list>
      </v-menu>

和一点免责声明。是的,我知道这种类型的菜单不是 Material Design 菜单,它是 vuetify 的基础

雷诺

我不认为 v-menu 支持嵌套菜单(至少在用鼠标悬停打开它们时不支持)。

您必须使用嵌套的 v-hover 自己制作一个。您可以创建一个递归组件,从嵌套的项目数组构建菜单。

像这样的东西:

<template>
  <v-list color="#F0FAFE" class="menu">
    <v-hover v-for="item in items" :key="item.title" v-slot="{ hover }">
      <router-link v-if="item.route" :to="item.route" class="item">
        <v-list-item link>
          <v-list-item-content>
            <v-list-item-title>{{ item.title }}</v-list-item-title>
          </v-list-item-content>
        </v-list-item>
      </router-link>
      <v-list-item v-else class="item">
        <v-list-item-content>
          <v-list-item-title>{{ item.title }} -&gt;</v-list-item-title>
        </v-list-item-content>

        <NestedMenu v-if="item.children && hover" :items="item.children"/>
      </v-list-item>
    </v-hover>
  </v-list>
</template>

<script>
export default {
  name: "NestedMenu",
  props: {
    items: { type: Array, default: () => [] }
  }
};
</script>

这是一个工作示例(需要一些样式):https ://codesandbox.io/s/nestedmenu-u8tk1 ? file =/ src/components/ NestedMenu.vue

在 App.vue 中的 menuItems 上添加更多项目和级别。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

反应:将道具从祖父母传递给孙子

将数据与祖父母中定义的道具传递给孙子

将数据从 iframe 传递给祖父母

React.js-如何将值从子组件传递到祖父母组件?

如何在VueJS中将模板(插槽)从祖父母组件传递到孙子孙?

如何在C ++中的孙子中初始化祖父母的(const)属性?

如何以现代角度将事件从孙子孙女传给祖父母?

如何在React Native中从孙子传达到其祖父母然后再传递回祖父母的孩子

祖父母组件未将参数传递给函数

如何从只有孙子/孩子的 id 的祖父母和父母中删除样式。(jQuery)

如何将祖父母文件夹名称附加到文件名?

如何从祖父母那里获取elasticsearch 7.10中的所有孙子

我如何让孙子在角度6中使用祖父母<router-outlet>

如何从祖父母那里继承CSS属性

React - 如何将道具传递给孙子组件?

最佳实践:处理从子对象到父对象,祖父母对象等的传递命令。VBNET

从linux访问父目录和祖父母目录并查找并传递给xargs

在Reactjs中将事件处理程序从祖父母传递给GrandChild组件

如何将函数递归传递给对象的每个属性

如何在Vue中将道具从父母传递给孙子

如何从祖父母标签继承CSS?

如何正确编写祖父母规则

如何将价值从Boostrap模态孩子传递给父母?

如何将变量从孩子传递给父母

如何将服务从孩子传递给父母?

C ++继承-将父母更改为祖父母

Selenium Javascript - 如何找到祖父母和父母

仅当祖父母被删除时,如何触发子对象的:destroy?

我想在祖父母显示页面下显示孙子记录...我在做什么错?