如何使用quasar-framework创建顶级菜单栏

时间:2018-04-16 12:09:03

标签: vuejs2 quasar-framework

我正在尝试使用Quasar框架,演示中或现在的网站(在https://github.com/quasarframework/quasar-awesome中)没有任何内容显示如何在框架中使用顶级菜单栏,我认为是大多数Web框架中的标准。请帮忙。

2 个答案:

答案 0 :(得分:0)

由于quasar是用于构建应用程序的PWA框架,因此不支持它。不过,您可以进行一些调整,并将按钮置于顶部。

<q-toolbar-title>
<q-btn></q-btn>
</q-toolbar-title>

您还可以在按钮内部添加弹出框,以创建一个下拉按钮。

答案 1 :(得分:0)

我在一个项目中做了类似的事情。它将在大屏幕上内联显示菜单项,而在小屏幕上弹出菜单。您可以根据需要修改布局。

<template> 
   <q-layout>
     <q-layout-header >
      <q-toolbar>
        <q-btn
          flat
          dense
          round
          aria-label="Menu"
          @click="leftDrawerOpen = !leftDrawerOpen" >
          <q-icon name="menu" />
        </q-btn>
        <img
          class="ml-2"
          height="30"
          alt="Company logo"
          src="~assets/logo.png"
        >
        <q-btn
          :color="showActions?'secondary':''"
          :icon="showActions?'keyboard_arrow_up':'keyboard_arrow_down'"
          flat
          class="lt-sm ml-auto"
          @click.native="showActions = !showActions"
        />


        <div class="action-buttons ml-auto gt-xs" >
          <q-btn
            v-for="item in toolbarButtons"
            :key="item.label"
            :icon="item.icon"
            :label="item.label"
            flat
            @click="item.action()"
          />
        </div>
      </q-toolbar>
      <div class="row justify-end">
        <div class="col-7" >
          <q-popover
            :anchor-click="true"
            v-model="showActions"
            fit
            anchor="bottom left"
            class="lt-sm"
          >
            <q-list
              separator
              link>
              <q-item
                v-close-overlay
                v-for="item in toolbarButtons"
                :key="item.label"
                @click.native="item.action()"
              >
                <q-item-side >
                  <q-icon :name="item.icon"/>
                </q-item-side>
                {{ item.label }}
              </q-item>
            </q-list>
          </q-popover>
        </div>
      </div>
     </q-layout-header>
   </q-layout>
  </template>


<script>
export default {
  name: 'LayoutName',
  data() {
    return {
      leftDrawerOpen: false,
      showActions: false,
      toolbarButtons: [
        {
          label: 'Share',
          icon: 'fa fa-share',
          action: () => {
            this.$router.push('/import');
          },
        },
        {
          label: 'Save',
          icon: 'fa fa-save',
          action: () => {
          },
        },
        ...
      ],
    };
  },
};
</script>