【问题标题】:Adding active state to lists that expands in Vuetify.js将活动状态添加到在 Vuetify.js 中展开的列表
【发布时间】:2020-11-29 02:07:56
【问题描述】:

正如我在上面的标题中所说,如何在 Vuetify 中为列表添加活动状态?我想应用主要背景,就像他们在文档中所做的那样:

我的代码:

<template>
  <v-navigation-drawer width="300px" :clipped="$vuetify.breakpoint.lgAndUp" app>
    <v-list nav expand>
      <v-list-group
        v-for="(item, i) in items"
        :key="i"
        no-action
        color="primary"
      >
        <template v-slot:activator>
          <v-list-item-content>
            <v-list-item-title>{{ item.title }}</v-list-item-title>
          </v-list-item-content>
        </template>

        <v-list-item
          v-for="(subItem, i) in item.children"
          :key="i"
          @click="$router.push(subItem.path)"
        >
          <v-list-item-content>
            <v-list-item-title v-text="subItem.title"></v-list-item-title>
          </v-list-item-content>
        </v-list-item>
      </v-list-group>
    </v-list>
  </v-navigation-drawer>
</template>

<script>
import SidebarLinks from '@theme/components/SidebarLinks.vue'
import NavLinks from '@theme/components/NavLinks.vue'

export default {
  name: 'Sidebar',

  components: { SidebarLinks, NavLinks },

  props: ['items']
}
</script>


非常感谢!

【问题讨论】:

    标签: javascript vue.js user-interface vuetify.js


    【解决方案1】:

    它在Lists documentation 中描述。例如在Dense 部分。

    item 显示items 列表中的哪个项目处于活动状态。

    new Vue({
      el: '#app',
      vuetify: new Vuetify(),
      data: () => ({
        item: 1,
        items: [
          { text: 'Real-Time', icon: 'mdi-clock' },
          { text: 'Audience', icon: 'mdi-account' },
          { text: 'Conversions', icon: 'mdi-flag' },
        ],
      }),
    })
    <link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">
    <link href="https://cdn.jsdelivr.net/npm/@mdi/font@5.x/css/materialdesignicons.min.css" rel="stylesheet"/>
    <link href="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.min.css" rel="stylesheet"/>
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.js"></script>
    
    <div id="app">
      <v-app id="inspire">
        <v-card
          class="mx-auto"
          max-width="300"
          tile
        >
          <v-list dense>
            <v-subheader>REPORTS</v-subheader>
            <v-list-item-group v-model="item" color="primary">
              <v-list-item
                v-for="(item, i) in items"
                :key="i"
              >
                <v-list-item-icon>
                  <v-icon v-text="item.icon"></v-icon>
                </v-list-item-icon>
                <v-list-item-content>
                  <v-list-item-title v-text="item.text"></v-list-item-title>
                </v-list-item-content>
              </v-list-item>
            </v-list-item-group>
          </v-list>
        </v-card>
      </v-app>
    </div>

    【讨论】:

      猜你喜欢
      • 2013-02-27
      • 1970-01-01
      • 2016-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-06
      • 2012-03-15
      相关资源
      最近更新 更多