代码之家  ›  专栏  ›  技术社区  ›  kingJulian

Vuetify:如何将化身或图标添加到导航抽屉的底部

  •  0
  • kingJulian  · 技术社区  · 6 年前

    我正在尝试使用Vuetify创建一个侧栏,其中顶部会有一些常见的操作,底部会有用户头像。

    我正在使用 v-navigation-drawer 到目前为止,我已经想到了这个:

    <template>
        <v-navigation-drawer 
            app 
            permanent
            mini-variant="true"
            class="cyan lighten-3"
        >
            <v-list>
                <!-- Timeline action -->
                <v-list-tile> 
                    <v-list-tile-action>
                        <v-btn
                            flat
                            exact
                            icon 
                            color="white"
                        >     
                            <v-icon>timeline</v-icon>
                        </v-btn>              
                    </v-list-tile-action>
                </v-list-tile>
                <!-- Sms action -->
                <v-list-tile> 
                    <v-list-tile-action>
                        <v-btn
                            flat
                            exact
                            icon 
                            color="white"
                        >     
                            <v-icon>sms</v-icon>
                        </v-btn>              
                    </v-list-tile-action>
                </v-list-tile>
                <!-- Calendar action -->
                <v-list-tile> 
                    <v-list-tile-action>
                        <v-btn
                            flat
                            exact
                            icon 
                            color="white"
                        >     
                            <v-icon>calendar_today</v-icon>
                        </v-btn>              
                    </v-list-tile-action>
                </v-list-tile>
                <!-- Settings Action -->
                <v-list-tile> 
                    <v-list-tile-action>
                        <v-btn
                            flat
                            exact
                            icon
                            color="white"
                        >     
                            <v-icon>settings</v-icon>
                        </v-btn>              
                    </v-list-tile-action>
                </v-list-tile>
            </v-list>
            <v-divider></v-divider>
            <!--This should be the avatar but I used a btn for demo purposes-->
            <v-btn
                flat
                exact
                icon
                bottom
                color="red"
            >     
                <v-icon>timeline</v-icon>
            </v-btn>              
    
        </v-navigation-drawer>
    </template>
    <!-- <script> and <style> follow after this-->
    

    这样你就可以看到我的 v-list v-divider 并将图标(或化身)放在下面。

    问题是我不能把它一直移到问题的底部 v-flex 周围 决赛呢 v-btn 但是没有用。

    我错过了什么?

    2 回复  |  直到 6 年前
        1
  •  13
  •   jcoleau a--m    5 年前

    您可以使用导航抽屉组件中的插槽,如下所示:

    <template v-slot:append>
        <div class="pa-2">
           <v-btn block>Logout</v-btn>
        </div>
     </template>
    
        2
  •  2
  •   Beniamin H Sai Sudha    6 年前

    添加 justify-end 到按钮、包装列表和btn in v-layout 具有 column fill-height 您应该为您完成以下工作: https://codepen.io/anon/pen/daMXqp?editors=1000

      <v-layout align-center justify-space-between column fill-height>
        <v-list>
          ...
        </v-list>
        <v-btn
               justify-end
               flat
               exact
               icon
               color="green"
               ><v-icon>dashboard</v-icon></v-btn> 
      </v-layout>
    
        3
  •  2
  •   Brian Lee    6 年前

    将您的导航列表和化身包装在 v-layout justify-space-between , column fill-height

    Vue.use(Vuetify)
    
    new Vue({
      el: '#app',
      data: () => ({
        drawer: true
      })
    })
    <link href='https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons' rel="stylesheet">
    <link href="https://cdn.jsdelivr.net/npm/vuetify/dist/vuetify.min.css" rel="stylesheet">
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.22/vue.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/vuetify/dist/vuetify.js"></script>
    
    
    <v-app id="app">
      <v-navigation-drawer v-model="drawer" fixed app>
        <v-layout fill-height column justify-space-between>
          <v-list dense>
            <v-list-tile @click="">
              <v-list-tile-action>
                <v-icon>home</v-icon>
              </v-list-tile-action>
              <v-list-tile-content>
                <v-list-tile-title>Home</v-list-tile-title>
              </v-list-tile-content>
            </v-list-tile>
            <v-list-tile @click="">
              <v-list-tile-action>
                <v-icon>contact_mail</v-icon>
              </v-list-tile-action>
              <v-list-tile-content>
                <v-list-tile-title>Contact</v-list-tile-title>
              </v-list-tile-content>
            </v-list-tile>
          </v-list>
          <v-avatar color="red">
            <v-icon dark>account_circle</v-icon>
          </v-avatar>
        </v-layout>
      </v-navigation-drawer>
      <v-toolbar color="indigo" dark fixed app>
        <v-toolbar-side-icon @click.stop="drawer = !drawer"></v-toolbar-side-icon>
        <v-toolbar-title>Application</v-toolbar-title>
      </v-toolbar>
      <v-content>
        <v-container fluid fill-height>
          <v-layout justify-center align-center>
            <v-flex text-xs-center>
    
            </v-flex>
          </v-layout>
        </v-container>
      </v-content>
    </v-app>
        4
  •  0
  •   Ruben Serrano    6 年前

    似乎只是加上 fill-height v-layout

    推荐文章