首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >选择v列表组项时,从v列表项中删除活动类

选择v列表组项时,从v列表项中删除活动类
EN

Stack Overflow用户
提问于 2022-03-03 21:19:10
回答 1查看 896关注 0票数 0

使用Vuetify v-list-item指令(外部)和v-list-group中的其他v-list-item来路由网站的页面,我遇到了以下问题:

路由运行良好,但每次单击其中一个子菜单时,索引项仍处于活动状态。

选择索引时

选择另一项时

我想知道,当我在v列表组中选择一个v列表项时,我是否可以做些什么来禁用索引菜单v列表项的活动类?

这是我的代码:

DOM:

代码语言:javascript
运行
复制
<v-navigation-drawer v-model="drawer" app dark>
<v-list>
      <div
        v-for="item in pages"
        :key="item.title"
      >
      <!-- Index -->
      <v-list-item
        v-if="!item.items"
        link
        :to="item.href"
        v-on="on"
      >
        <v-list-item-icon>
          <v-icon color="info">
            {{item.icon}}
          </v-icon>
        </v-list-item-icon>
        <v-list-item-title class="info--text" v-text="item.title">
        </v-list-item-title>
      </v-list-item>
      <!-- group menues -->
      <v-list-group
        v-if="item.items"
        item-color="primary"
        no-action
      >
        <template v-slot:activator>
          <v-icon color="info" style="padding-right:32px">
            {{item.icon}}
          </v-icon>
            <v-list-item-content>
              <v-list-item-title class="info--text" v-text="item.title"></v-list-item-title>
            </v-list-item-content>
        </template>
        <v-list-item
          item-color="primary"
          v-for="child in item.items"
          :key="child.title"
          link
          :to="child.href"
          style="padding-left:40px"
        >
          <v-list-item-icon>
            <v-icon color="info">mdi-circle-medium</v-icon>
          </v-list-item-icon>
            <v-list-item-content v-on="on">
              <v-list-item-title class="info--text" v-text="child.title"></v-list-item-title>
            </v-list-item-content>
        </v-list-item>
      </v-list-group>
      </div>
    </v-list>
  </v-navigation-drawer>

剧本:

代码语言:javascript
运行
复制
data: () => ({
drawer: true,
pages: [
    {
      icon: 'mdi-home',
      title: 'Index',
      href: '/main'
    },
    {
      icon: 'mdi-bell',
      items: [
        {
          title: 'submenu1',
          href: '/main/menu1/submenu1'
        },
        {
          title: 'submenu2',
          href: '/main/menu1/submenu2'
        }
      ],
      title: 'menu1'
    },
    {
      icon: 'mdi-cog-outline',
      items: [
        {
          title: 'submenu3',
          href: '/main/menu2/submenu3'
        }
      ],
      title: 'menu2'
    },
    {
      icon: 'mdi-text-box-outline',
      items: [
        {
          title: 'submenu4',
          href: '/main/menu3/submenu4'
        }
      ],
      title: 'menu3'
    }
  ]  })

谢谢!

EN

Stack Overflow用户

回答已采纳

发布于 2022-03-04 15:36:27

我发现问题出在哪里了。我误解了使用Vue路由的概念。

索引项路由到/main (/main/ index ),其他页面在其路由中包含“main”,如: /main/submenu1 1。Vue将/ main /submenu1 1理解为在main上,因此/main也是“活动的”,因为它在路由中包含相同的名称。

我通过将/main路由更改为/main/home来修复这个问题。通过强迫路径与其他路径不同。我尝试使用/main/index,因为Vue一直在指向索引,但是它没有工作。我只需要更改页面名和路径。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71343928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档