按鈕用于觸發(fā)一個(gè)操作,如提交表單。
通過以下方式來全局注冊組件,更多注冊方式請參考組件注冊。
import { createApp } from 'vue';
import { Button } from 'vant';
const app = createApp();
app.use(Button);
按鈕支持 default、primary、success、warning、danger 五種類型,默認(rèn)為 default。
<van-button type="primary">主要按鈕</van-button>
<van-button type="success">成功按鈕</van-button>
<van-button type="default">默認(rèn)按鈕</van-button>
<van-button type="warning">警告按鈕</van-button>
<van-button type="danger">危險(xiǎn)按鈕</van-button>
通過 plain 屬性將按鈕設(shè)置為樸素按鈕,樸素按鈕的文字為按鈕顏色,背景為白色。
<van-button plain type="primary">樸素按鈕</van-button>
<van-button plain type="primary">樸素按鈕</van-button>
設(shè)置 hairline 屬性可以展示 0.5px 的細(xì)邊框。
<van-button plain hairline type="primary">細(xì)邊框按鈕</van-button>
<van-button plain hairline type="primary">細(xì)邊框按鈕</van-button>
通過 disabled 屬性來禁用按鈕,禁用狀態(tài)下按鈕不可點(diǎn)擊。
<van-button disabled type="primary">禁用狀態(tài)</van-button>
<van-button disabled type="primary">禁用狀態(tài)</van-button>
通過 loading 屬性設(shè)置按鈕為加載狀態(tài),加載狀態(tài)下默認(rèn)會(huì)隱藏按鈕文字,可以通過 loading-text 設(shè)置加載狀態(tài)下的文字。
<van-button loading type="primary" />
<van-button loading type="primary" loading-type="spinner" />
<van-button loading type="primary" loading-text="加載中..." />
通過 square 設(shè)置方形按鈕,通過 round 設(shè)置圓形按鈕。
<van-button square type="primary">方形按鈕</van-button>
<van-button round type="primary">圓形按鈕</van-button>
通過 icon 屬性設(shè)置按鈕圖標(biāo),支持 Icon 組件里的所有圖標(biāo),也可以傳入圖標(biāo) URL。
<van-button icon="plus" type="primary" />
<van-button icon="plus" type="primary">按鈕</van-button>
<van-button icon="https://img.yzcdn.cn/vant/user-active.png" type="primary">
按鈕
</van-button>
支持 large、normal、small、mini 四種尺寸,默認(rèn)為 normal。
<van-button type="primary" size="large">大號(hào)按鈕</van-button>
<van-button type="primary" size="normal">普通按鈕</van-button>
<van-button type="primary" size="small">小型按鈕</van-button>
<van-button type="primary" size="mini">迷你按鈕</van-button>
按鈕在默認(rèn)情況下為行內(nèi)塊級元素,通過 block 屬性可以將按鈕的元素類型設(shè)置為塊級元素。
<van-button type="primary" block>塊級元素</van-button>
可以通過 url 屬性進(jìn)行 URL 跳轉(zhuǎn),或通過 to 屬性進(jìn)行路由跳轉(zhuǎn)。
<van-button type="primary" url="/vant/mobile.html">URL 跳轉(zhuǎn)</van-button>
<van-button type="primary" to="index">路由跳轉(zhuǎn)</van-button>
通過 color 屬性可以自定義按鈕的顏色。
<van-button color="#7232dd">單色按鈕</van-button>
<van-button color="#7232dd" plain>單色按鈕</van-button>
<van-button color="linear-gradient(to right, #ff6034, #ee0a24)">
漸變色按鈕
</van-button>
參數(shù) | 說明 | 類型 | 默認(rèn)值 |
---|---|---|---|
type | 類型,可選值為 primary success warning danger
|
string | default
|
size | 尺寸,可選值為 large small mini
|
string | normal
|
text | 按鈕文字 | string | - |
color | 按鈕顏色,支持傳入 linear-gradient 漸變色 |
string | - |
icon | 左側(cè)圖標(biāo)名稱或圖片鏈接 | string | - |
icon-prefix | 圖標(biāo)類名前綴,同 Icon 組件的 class-prefix 屬性 | string | van-icon
|
icon-position | 圖標(biāo)展示位置,可選值為 right
|
string | left
|
tag | 按鈕根節(jié)點(diǎn)的 HTML 標(biāo)簽 | string | button
|
native-type | 原生 button 標(biāo)簽的 type 屬性 | string | button
|
block | 是否為塊級元素 | boolean | false
|
plain | 是否為樸素按鈕 | boolean | false
|
square | 是否為方形按鈕 | boolean | false
|
round | 是否為圓形按鈕 | boolean | false
|
disabled | 是否禁用按鈕 | boolean | false
|
hairline | 是否使用 0.5px 邊框 | boolean | false
|
loading | 是否顯示為加載狀態(tài) | boolean | false
|
loading-text | 加載狀態(tài)提示文字 | string | - |
loading-type | 加載圖標(biāo)類型,可選值為 spinner
|
string | circular
|
loading-size | 加載圖標(biāo)大小 | string | 20px
|
url | 點(diǎn)擊后跳轉(zhuǎn)的鏈接地址 | string | - |
to | 點(diǎn)擊后跳轉(zhuǎn)的目標(biāo)路由對象,同 vue-router 的 to 屬性 | string | object | - |
replace | 是否在跳轉(zhuǎn)時(shí)替換當(dāng)前頁面歷史 | boolean | false
|
事件名 | 說明 | 回調(diào)參數(shù) |
---|---|---|
click | 點(diǎn)擊按鈕,且按鈕狀態(tài)不為加載或禁用時(shí)觸發(fā) | event: MouseEvent |
touchstart | 開始觸摸按鈕時(shí)觸發(fā) | event: TouchEvent |
名稱 | 說明 |
---|---|
default | 按鈕內(nèi)容 |
icon v3.0.18
|
自定義圖標(biāo) |
loading | 自定義加載圖標(biāo) |
組件提供了下列 CSS 變量,可用于自定義樣式,使用方法請參考 ConfigProvider 組件。
名稱 | 默認(rèn)值 | 描述 |
---|---|---|
--van-button-mini-height | 24px | - |
--van-button-mini-padding | 0 var(--van-padding-base) | - |
--van-button-mini-font-size | var(--van-font-size-xs) | - |
--van-button-small-height | 32px | - |
--van-button-small-padding | 0 var(--van-padding-xs) | - |
--van-button-small-font-size | var(--van-font-size-sm) | - |
--van-button-normal-font-size | var(--van-font-size-md) | - |
--van-button-normal-padding | 0 15px | - |
--van-button-large-height | 50px | - |
--van-button-default-height | 44px | - |
--van-button-default-line-height | 1.2 | - |
--van-button-default-font-size | var(--van-font-size-lg) | - |
--van-button-default-color | var(--van-text-color) | - |
--van-button-default-background-color | var(--van-white) | - |
--van-button-default-border-color | var(--van-border-color) | - |
--van-button-primary-color | var(--van-white) | - |
--van-button-primary-background-color | var(--van-primary-color) | - |
--van-button-primary-border-color | var(--van-primary-color) | - |
--van-button-success-color | var(--van-white) | - |
--van-button-success-background-color | var(--van-success-color) | - |
--van-button-success-border-color | var(--van-success-color) | - |
--van-button-danger-color | var(--van-white) | - |
--van-button-danger-background-color | var(--van-danger-color) | - |
--van-button-danger-border-color | var(--van-danger-color) | - |
--van-button-warning-color | var(--van-white) | - |
--van-button-warning-background-color | var(--van-orange) | - |
--van-button-warning-border-color | var(--van-orange) | - |
--van-button-border-width | var(--van-border-width-base) | - |
--van-button-border-radius | var(--van-border-radius-sm) | - |
--van-button-round-border-radius | var(--van-border-radius-max) | - |
--van-button-plain-background-color | var(--van-white) | - |
--van-button-disabled-opacity | var(--van-disabled-opacity) | - |
--van-button-icon-size | 1.2em | - |
--van-button-loading-icon-size | 20px | - |
更多建議: