一. 按鈕 (V-BTN)
參考文檔:
https://vuetifyjs.com/zh-Hans/components/buttons/
https://vuetifyjs.com/zh-Hans/api/v-btn/
1. 按鈕的顏色
我們可以用class
或者 color
來控制按鈕的顏色
<v-btn color="pink">text</v-btn>
<v-btn dark color="pink">text</v-btn>
<v-btn class="pink">text</v-btn>
<v-btn class="pink white--text">text</v-btn>
也可以使用系統(tǒng)顏色:
<v-btn color="success"> success </v-btn>
<v-btn color="info"> info </v-btn>
<v-btn color="error"> error </v-btn>
...
2. 按鈕樣式
(1). 扁平化按鈕 (depressed )
<v-btn depressed class="pink white--text">text</v-btn>
(2). 透明背景按鈕 (plain )
<v-btn plain color="pink">text</v-btn>
(3). 輪廓線按鈕 (outlined)
<v-btn outlined color="pink">text</v-btn>
(4). 圓角按鈕 (rounded )
<v-btn rounded color="pink white--text">text</v-btn>
(5). 圓形浮動(dòng)按鈕 (fab)
<v-btn fab color="pink white--text">text</v-btn>
(6). 文本按鈕 (text)
文本按鈕沒有華麗的樣式, 顏色屬性只設(shè)置文本顏色
<v-btn text color="pink">text</v-btn>
(7). 凸起的按鈕 raised
凸起的按鈕有更夸張的陰影和點(diǎn)擊效果
<v-btn raised color="pink white--text">text</v-btn>
點(diǎn)擊時(shí)有遞增的陰影
(8). 瓷磚按鈕(無圓角按鈕) tile
<v-btn tile color="pink white--text">text</v-btn>
3 . 圖標(biāo)按鈕
<v-btn color="pink white--text">
<v-icon>mdi-heart</v-icon>
</v-btn>
<v-btn fab color="orange white--text">
<v-icon>mdi-email</v-icon>
</v-btn>
4. 按鈕的尺寸
屬性 | 說明 |
---|---|
x-small | 特小 |
small | 小 |
normal | 正常(默認(rèn)) |
large | 大 |
x-large | 特大 |
block | 將按鈕擴(kuò)大到可用空間的 100% |
<v-btn x-small color="pink white--text"> x-small </v-btn>
<v-btn small color="pink white--text"> small </v-btn>
<v-btn normal color="pink white--text"> normal </v-btn>
<v-btn large color="pink white--text"> large </v-btn>
<v-btn x-large color="pink white--text"> x-large </v-btn>
<v-btn block color="pink white--text"> block </v-btn>
5. 按鈕加載中和失效
<v-btn loading color="pink white--text"> TEXT </v-btn>
<v-btn disabled color="pink white--text"> disabled </v-btn>
6. 按鈕點(diǎn)擊事件
vue 老規(guī)矩, @click處理點(diǎn)擊事件
<template>
<div class="home text-center">
<p></p>
<v-btn :loading="loading" color="pink white--text" @click="btn_click">
{{ btn_text }}
</v-btn>
</div>
</template>
<script>
export default {
name: "Home",
data() {
return {
loading: false,
btn_text: "點(diǎn)我",
};
},
methods: {
btn_click() {
this.loading = true;
setTimeout(() => {
this.btn_text = "感謝點(diǎn)擊";
this.loading = false;
}, 2000);
},
},
};
</script>
7. 超鏈接 href
<v-btn color="indigo white--text"> 百度一下 </v-btn>
二. 圖標(biāo) v-icon
1. 圖標(biāo)的顏色
參考按鈕的顏色
2. 和按鈕結(jié)合使用
<v-btn class="ma-2" color="primary" dark>
Accept
<v-icon dark right> mdi-checkbox-marked-circle </v-icon>
</v-btn>
<v-btn class="ma-2" dark>
<v-icon dark left> mdi-minus-circle </v-icon>Cancel
</v-btn>
<v-btn class="ma-2" text icon color="blue lighten-2">
<v-icon>mdi-thumb-up</v-icon>
</v-btn>
<v-btn class="ma-2" text icon color="red lighten-2">
<v-icon>mdi-thumb-down</v-icon>
</v-btn>
三. 列表 v-list
v-list 組件用于顯示信息玉掸。 它可以包含頭像萝毛、內(nèi)容信粮、操作棺牧、列表組標(biāo)題等等。 列表以易于在集合中識(shí)別特定項(xiàng)目的方式顯示內(nèi)容。 它們?yōu)榻M織一組文本和圖像提供了一致的樣式而咆。
1. 列表相關(guān)標(biāo)簽
(1). 列表標(biāo)簽 v-list
基本列表標(biāo)簽
(2). 列表組標(biāo)簽 v-list-group
有了group才能點(diǎn)擊
重要屬性
- sub-group : 將組件指定為嵌套列表組
- no-action : 從組項(xiàng)目中刪除分配給操作圖標(biāo)的左邊距
- eager : 將強(qiáng)制組件內(nèi)容在加載時(shí)呈現(xiàn)。如果存在內(nèi)容的話幕袱,則不會(huì)在 DOM 中渲染暴备,如果你想優(yōu)化 SEO,這是非常有用的们豌。
(3). 列表項(xiàng)目組 v-list-item-group
有了group才能點(diǎn)擊
重要屬性
- value : 選定的條目 可以用v-modle綁定
- multiple : 多選
- max : 最大多選數(shù)
(4). 列表項(xiàng)目 v-list-item
重要屬性
- link : 指定組件為鏈接涯捻。當(dāng)使用 href 或 ** to ** 屬性時(shí),這是自動(dòng)的設(shè)置的望迎。
- href : 指定組件為錨點(diǎn)并應(yīng)用 href 屬性
- target : 指定 target 屬性障癌。只在使用 href 屬性時(shí)應(yīng)用
- inactive: 不活躍,如果設(shè)置了該屬性,即使有to/href或者@click辩尊,列表塊也不會(huì)響應(yīng)鏈接涛浙。
- selectable : 允許在 v-list-item 中選擇文本。
- to : 表示鏈接的目標(biāo)路由摄欲。
(5). 列表項(xiàng)目?jī)?nèi)容 v-list-item-content
(6). 列表項(xiàng)目頭像 v-list-item-avatar
重要屬性
- rounded: 對(duì)指定的組件應(yīng)用 border-radius 樣式轿亮。
- left : 指定頭像在組件左側(cè)。
- rigth: 指定頭像在組件的右側(cè)胸墙。
- horizontal : 使用另一種水平樣式我注。
(7). 列表項(xiàng)目圖標(biāo) v-list-item-icon
(8). 列表項(xiàng)目標(biāo)題 v-list-item-title
(9). 列表項(xiàng)目副標(biāo)題 v-list-item-subtitle
(10). 列表項(xiàng)目動(dòng)作插槽 v-list-item-action
(11). 列表項(xiàng)目動(dòng)作插槽文本 v-list-item-action-text
2. v-list-item的單行/雙行/三行
列表有三種基本形式。 單行 (默認(rèn)), 雙行 和 三行.
<template>
<v-card class="mx-auto" max-width="400" tile>
<v-list>
<v-list-item>
<v-list-item-content>
<v-list-item-title>單行列表項(xiàng)目</v-list-item-title>
</v-list-item-content>
</v-list-item>
<v-list-item two-line>
<v-list-item-content>
<v-list-item-title>雙行列表項(xiàng)目</v-list-item-title>
<v-list-item-subtitle>項(xiàng)目副標(biāo)題</v-list-item-subtitle>
</v-list-item-content>
</v-list-item>
<v-list-item three-line>
<v-list-item-content>
<v-list-item-title>三行列表項(xiàng)目</v-list-item-title>
<v-list-item-subtitle> 項(xiàng)目副標(biāo)題 </v-list-item-subtitle>
<v-list-item-subtitle> 項(xiàng)目副標(biāo)題 </v-list-item-subtitle>
</v-list-item-content>
</v-list-item>
</v-list>
</v-card>
</template>
3. 列表的樣式
(1). 緊湊型列表 dense
<v-list dense>
<v-list-item-group>
<v-list-item>
<v-list-item-icon>
<v-icon>mdi-clock</v-icon>
</v-list-item-icon>
<v-list-item-content>
<v-list-item-title>歷史記錄</v-list-item-title>
</v-list-item-content>
</v-list-item>
</v-list-item-group>
</v-list>
(2). 扁平化列表 flat
<v-list flat>
<v-list-item-group>
<v-list-item>
<v-list-item-icon>
<v-icon>mdi-clock</v-icon>
</v-list-item-icon>
<v-list-item-content>
<v-list-item-title>歷史記錄</v-list-item-title>
</v-list-item-content>
</v-list-item>
</v-list-item-group>
</v-list>
(3). 圓角風(fēng)格
<template>
<v-card class="mx-auto" max-width="400">
<v-list rounded>
<v-list-item-group>
<v-list-item>
<v-list-item-icon>
<v-icon>mdi-clock</v-icon>
</v-list-item-icon>
<v-list-item-content>
<v-list-item-title>歷史記錄</v-list-item-title>
</v-list-item-content>
</v-list-item>
<v-list-item>
<v-list-item-icon>
<v-icon>mdi-email</v-icon>
</v-list-item-icon>
<v-list-item-content>
<v-list-item-title>聯(lián)系我們</v-list-item-title>
</v-list-item-content>
</v-list-item>
</v-list-item-group>
</v-list>
</v-card>
</template>
(4). 各種形狀風(fēng)格 shaped
4. 列表的典型的應(yīng)用
<template>
<v-card class="mx-auto" max-width="400">
<v-list>
<v-list-item-group>
<v-list-item>
<v-list-item-avatar>
<v-icon color="amber">mdi-gesture-tap-button</v-icon>
</v-list-item-avatar>
<v-list-item-content>
<v-list-item-title>熊爸天下</v-list-item-title>
<v-list-item-subtitle>Jan 10,2014 超級(jí)奶爸</v-list-item-subtitle>
</v-list-item-content>
<v-list-item-action>
<v-btn icon>
<v-icon color="blue lighten-1">mdi-information</v-icon>
</v-btn>
</v-list-item-action>
</v-list-item>
<v-list-item>
<v-list-item-avatar>
<v-icon color="amber">mdi-email-lock</v-icon>
</v-list-item-avatar>
<v-list-item-content>
<v-list-item-title>熊爸天下</v-list-item-title>
<v-list-item-subtitle>Jan 10,2014 超級(jí)奶爸</v-list-item-subtitle>
</v-list-item-content>
<v-list-item-action>
<v-btn icon>
<v-icon color="blue lighten-1">mdi-information</v-icon>
</v-btn>
</v-list-item-action>
</v-list-item>
</v-list-item-group>
</v-list>
</v-card>
</template>
數(shù)據(jù)驅(qū)動(dòng)生成版
<template>
<v-card class="mx-auto" max-width="400">
<v-list>
<v-list-item-group v-model="selected">
<v-list-item v-for="link in links" :key="link.text">
<v-list-item-avatar>
<v-icon color="amber">{{ link.icon }}</v-icon>
</v-list-item-avatar>
<v-list-item-content>
<v-list-item-title>{{ link.text }}</v-list-item-title>
</v-list-item-content>
</v-list-item>
</v-list-item-group>
</v-list>
</v-card>
</template>
<script>
export default {
data() {
return {
selected: null,
links: [
{ icon: "mdi-information", text: "首頁", route: "/" },
{ icon: "mdi-qqchat", text: "QQ", route: "/qq" },
{ icon: "mdi-wechat", text: "微信", route: "/wechat" },
],
};
},
};
</script>
5. 列表的嵌套
<v-list rounded>
<v-list-item-group>
<v-list-item>
<v-list-item-icon>
<v-icon>mdi-clock</v-icon>
</v-list-item-icon>
<v-list-item-content>
<v-list-item-title>歷史記錄</v-list-item-title>
</v-list-item-content>
</v-list-item>
<v-list-item>
<v-list-item-icon>
<v-icon>mdi-email</v-icon>
</v-list-item-icon>
<v-list-item-content>
<v-list-item-title>聯(lián)系我們</v-list-item-title>
<v-list-item-group sub-group>
<v-list-item>
<v-list-item-icon>
<v-icon>mdi-home</v-icon>
</v-list-item-icon>
<v-list-item-content>
<v-list-item-title>上海事業(yè)部</v-list-item-title>
</v-list-item-content>
</v-list-item>
<v-list-item>
<v-list-item-icon>
<v-icon>mdi-home</v-icon>
</v-list-item-icon>
<v-list-item-content>
<v-list-item-title>廣州事業(yè)部</v-list-item-title>
</v-list-item-content>
</v-list-item>
</v-list-item-group>
</v-list-item-content>
</v-list-item>
</v-list-item-group>
</v-list>
6. 列表多選 multiple
<v-list>
<v-list-item-group multiple>
<v-list-item>
<v-list-item-avatar>
<v-icon color="amber">mdi-gesture-tap-button</v-icon>
</v-list-item-avatar>
<v-list-item-content>
<v-list-item-title>熊爸天下</v-list-item-title>
<v-list-item-subtitle>Jan 10,2014 超級(jí)奶爸</v-list-item-subtitle>
</v-list-item-content>
</v-list-item>
<v-list-item>
<v-list-item-avatar>
<v-icon color="red">mdi-heart</v-icon>
</v-list-item-avatar>
<v-list-item-content>
<v-list-item-title>anny</v-list-item-title>
<v-list-item-subtitle>Dec 8,2014 可愛寶寶</v-list-item-subtitle>
</v-list-item-content>
</v-list-item>
</v-list-item-group>
</v-list>
7. 可擴(kuò)展列表插槽 v-slot:activator
列表可以包含一組項(xiàng)目迟隅,這些項(xiàng)目將利用 v-item-group 的激活器插槽在點(diǎn)擊時(shí)顯示但骨。 在 v-navigation-drawer 組件中也使用了擴(kuò)展列表.
<template>
<v-card class="mx-auto" max-width="400">
<v-list>
<v-list-group no-action>
<template v-slot:activator>
<v-list-item-content>
<v-list-item-title>用戶信息</v-list-item-title>
</v-list-item-content>
</template>
<v-list-item-group>
<v-list-item>
<v-list-item-avatar>
<v-icon color="amber">mdi-gesture-tap-button</v-icon>
</v-list-item-avatar>
<v-list-item-content>
<v-list-item-title>熊爸天下200</v-list-item-title>
<v-list-item-subtitle>Jan 10,2014 超級(jí)奶爸</v-list-item-subtitle>
</v-list-item-content>
</v-list-item>
</v-list-item-group>
</v-list-group>
</v-list>
</v-card>
</template>
8. 帶操作的列表
- 利用 v-list-item-group,輕松將操作連接到您的磁貼玻淑。
<v-list>
<v-list-item-group>
<v-list-item>
<v-list-item-avatar>
<v-icon color="amber">mdi-gesture-tap-button</v-icon>
</v-list-item-avatar>
<v-list-item-content>
<v-list-item-title>熊爸天下200</v-list-item-title>
<v-list-item-subtitle>Jan 10,2014 超級(jí)奶爸</v-list-item-subtitle>
</v-list-item-content>
</v-list-item>
<v-list-item>
<template v-slot:default="{ active }">
<v-list-item-action>
<v-checkbox :input-value="active"></v-checkbox>
</v-list-item-action>
<v-list-item-content>
<v-list-item-title>安全</v-list-item-title>
<v-list-item-subtitle>保存以上信息</v-list-item-subtitle>
</v-list-item-content>
</template>
</v-list-item>
</v-list-item-group>
</v-list>
9. 列表禁用 disabled
10. 列表標(biāo)題 subheader
<v-list subheader>
<v-subheader>用戶信息</v-subheader>
<v-list-item-group multiple>
<v-list-item>
<v-list-item-avatar>
<v-icon color="amber">mdi-gesture-tap-button</v-icon>
</v-list-item-avatar>
<v-list-item-content>
<v-list-item-title>熊爸天下</v-list-item-title>
<v-list-item-subtitle>Jan 10,2014 超級(jí)奶爸</v-list-item-subtitle>
</v-list-item-content>
</v-list-item>
<v-list-item>
<v-list-item-avatar>
<v-icon color="red">mdi-heart</v-icon>
</v-list-item-avatar>
<v-list-item-content>
<v-list-item-title>anny</v-list-item-title>
<v-list-item-subtitle>Dec 8,2014 可愛寶寶</v-list-item-subtitle>
</v-list-item-content>
</v-list-item>
</v-list-item-group>
</v-list>
11. 列表跳轉(zhuǎn)路由
我們只需要在 v-list-item
上加上 to屬性綁定好路由即可
<template>
<v-card class="mx-auto" max-width="400">
<v-list>
<v-list-item-group v-model="selected">
<v-list-item v-for="link in links" :key="link.text" link :to="link.route">
<v-list-item-avatar>
<v-icon color="amber">{{ link.icon }}</v-icon>
</v-list-item-avatar>
<v-list-item-content>
<v-list-item-title>{{ link.text }}</v-list-item-title>
</v-list-item-content>
</v-list-item>
</v-list-item-group>
</v-list>
</v-card>
</template>
<script>
export default {
data() {
return {
selected: null,
links: [
{ icon: "mdi-information", text: "首頁", route: "/" },
{ icon: "mdi-qqchat", text: "QQ", route: "/qq" },
{ icon: "mdi-wechat", text: "微信", route: "/wechat" },
],
};
},
};
</script>