美文网首页
Material Design风格神框架vuetify 学习笔记

Material Design风格神框架vuetify 学习笔记

作者: 熊爸天下_56c7 | 来源:发表于2022-08-30 17:13 被阅读0次

一. 底部导航栏 v-bottom-navigation

v-bottom-navigation 组件是侧边栏的替代品。 它主要用于移动应用程序,并且有三个变体: icons 和 text和 shift。

1. 基本用法

    <v-bottom-navigation v-model="selected">
      <v-btn value="home">
        <span>首页</span>
        <v-icon>mdi-home</v-icon>
      </v-btn>
      <v-btn value="favorites">
        <span>订阅</span>
        <v-icon>mdi-heart</v-icon>
      </v-btn>
      <v-btn value="history">
        <span>历史</span>
        <v-icon>mdi-history</v-icon>
      </v-btn>
      <v-btn value="mine">
        <span>我的</span>
        <v-icon>mdi-human</v-icon>
      </v-btn>
    </v-bottom-navigation>

2. 颜色 color

可以设置颜色属性, 建议使用 lightdark 来正确对比文字颜色。

<v-bottom-navigation dark color="lime" v-model="selected">

3. 宽度 grow

<v-bottom-navigation grow v-model="selected">

4. 水平布局 horizontal

让图标和按钮文本水平对齐

<v-bottom-navigation horizontal v-model="selected">

5. 上档 shift

隐藏未激活时的按钮文本, 这种效果动画过渡很好

<v-bottom-navigation shift v-model="selected">

二. 底部工作表 v-bottom-sheet

类似于抽屉效果, 只不过是从底部弹出

1. 基本功能 (用插槽实现弹出按钮)

<template>
  <div>
    <v-bottom-sheet v-model="show">
      <template v-slot:activator="{ on, attrs }">
        <v-btn color="orange" dark v-bind="attrs" v-on="on"> 弹窗按钮 </v-btn>
      </template>
      <v-sheet class="text-center" height="200px">
        <div>这是一个底部弹窗</div>
      </v-sheet>
    </v-bottom-sheet>
  </div>
</template>
<script>
export default {
  data: () => ({ show: false }),
};
</script>

2. 基本功能 (用按钮事件实现弹出)

<template>
  <div>
    <v-btn color="orange" dark @click="show = true"> 弹窗按钮 </v-btn>
    <v-bottom-sheet v-model="show" inset>
      <v-sheet class="text-center" height="200px">
        <v-btn class="mt-6" text color="red" @click="show = false">
          close
        </v-btn>
        <div>这是一个底部弹窗</div>
      </v-sheet>
    </v-bottom-sheet>
  </div>
</template>
<script>
export default {
  data: () => ({ show: false }),
};
</script>

3. 关闭蒙版关闭功能 persistent

<v-bottom-sheet v-model="show" persistent>

4. 控制宽度 inset

<v-bottom-sheet v-model="show" inset>

5. 例: 列表中打开

<template>
  <div>
    <v-btn color="orange" dark @click="show = true"> 弹窗按钮 </v-btn>
    <v-bottom-sheet v-model="show">
      <v-list>
        <v-list-item @click="btnClick(0)">
          <v-list-item-avatar>
            <v-icon>mdi-home</v-icon>
          </v-list-item-avatar>
          <v-list-item-title>标题</v-list-item-title>
        </v-list-item>
        <v-list-item @click="btnClick(1)">
          <v-list-item-avatar>
            <v-icon>mdi-history</v-icon>
          </v-list-item-avatar>
          <v-list-item-title>历史</v-list-item-title>
        </v-list-item>
        <v-list-item @click="btnClick(2)">
          <v-list-item-avatar>
            <v-icon>mdi-logout</v-icon>
          </v-list-item-avatar>
          <v-list-item-title>退出</v-list-item-title>
        </v-list-item>
      </v-list>
    </v-bottom-sheet>
  </div>
</template>
<script>
export default {
  data: () => ({ show: false }),
  methods: {
    btnClick(v) {
      console.log(v);
      this.show = false;
    },
  },
};
</script>

相关文章

网友评论

      本文标题:Material Design风格神框架vuetify 学习笔记

      本文链接:https://www.haomeiwen.com/subject/ewsoiltx.html