Button 按钮

按钮用于开始一个即时操作。

何时使用

标记了一个(或封装一组)操作命令,响应用户点击行为,触发相应的业务逻辑。

代码演示

按钮类型

按钮有四种类型:主按钮、次按钮、虚线按钮、危险按钮以及四种颜色按钮。主按钮在同一个操作区域最多出现一次。

  1. <v-button type="primary">Primary</v-button>
  2. <v-button>Default</v-button>
  3. <v-button type="dashed">Dashed</v-button>
  4. <v-button type="danger">Danger</v-button>
  5. <v-button type="info">Info</v-button>
  6. <v-button type="success">Success</v-button>
  7. <v-button type="warning">Warning</v-button>
  8. <v-button type="error">Error</v-button>

图标按钮

当需要在 Button 内嵌入 Icon 时,可以设置 icon 属性,或者直接在 Button 内使用 Icon 组件。如果想控制 Icon 具体的位置,只能直接使用 Icon 组件,而非 icon 属性。

  1. <v-button type="primary" shape="circle" icon="search"></v-button>
  2. <v-button type="primary" icon="search"><span>搜索</span></v-button>
  3. <v-button type="ghost" shape="circle-outline" icon="search"></v-button>
  4. <v-button type="ghost" icon="search"><span>搜索</span></v-button>
  5. <br/><br/>
  6. <v-button type="dashed" shape="circle-outline" icon="search"></v-button>
  7. <v-button type="dashed" icon="search"><span>搜索</span></v-button>
  8. <v-button type="ghost" shape="circle-outline"><v-icon type="search"></v-icon></v-button>
  9. <v-button type="ghost"><span>搜索</span><v-icon type="search"></v-icon></v-button>

按钮尺寸

按钮有大、中、小三种尺寸。通过设置 size 为 large small 分别把按钮设为大、小尺寸。若不设置 size,则尺寸为中。

  1. <v-button type="primary" size="large">Large</v-button>
  2. <v-button type="primary">Default</v-button>
  3. <v-button type="primary" size="small">Small</v-button>
  4. <br/><br/>
  5. <v-button type="ghost" size="large">Large</v-button>
  6. <v-button type="ghost">Default</v-button>
  7. <v-button type="ghost" size="small">Small</v-button>
  8. <br/><br/>
  9. <v-button type="dashed" size="large">Large</v-button>
  10. <v-button type="dashed">Default</v-button>
  11. <v-button type="dashed" size="small">Small</v-button>
  12. <br/><br/>
  13. <v-button type="primary" shape="circle" icon="search" size="large"></v-button>
  14. <v-button type="primary" shape="circle" icon="search"></v-button>
  15. <v-button type="primary" shape="circle" icon="search" size="small"></v-button>

不可用状态

添加 disabled 属性即可让按钮处于不可用状态,同时按钮样式也会改变。

  1. <template>
  2. <div>
  3. <v-button type="primary" @click="onClick">Primary</v-button>
  4. <v-button type="primary" disabled @click="onClick">Primary</v-button>
  5. <br/><br/>
  6. <v-button type="default" @click="onClick">Default</v-button>
  7. <v-button type="default" disabled @click="onClick">Default</v-button>
  8. <br/><br/>
  9. <v-button type="dashed" @click="onClick">Dashed</v-button>
  10. <v-button type="dashed" disabled @click="onClick">Dashed</v-button>
  11. <br/><br/>
  12. <v-button type="danger" @click="onClick">Danger</v-button>
  13. <v-button type="danger" disabled @click="onClick">Danger</v-button>
  14. </div>
  15. </template>
  16. <script>
  17. export default {
  18. methods: {
  19. onClick: function() {
  20. alert("Button Clicked!")
  21. }
  22. }
  23. }
  24. </script>

加载中状态

添加 loading 属性即可让按钮处于加载状态,最后两个按钮演示点击后进入加载状态。

  1. <template>
  2. <div>
  3. <v-button type="primary" :loading="loading">{{ loading ? "Loading" : "Default" }}</v-button>
  4. <v-button type="primary" @click="removeLoading">点击将切换loading状态</v-button>
  5. </div>
  6. </template>
  7. <script>
  8. export default {
  9. data: function () {
  10. return {
  11. loading: true
  12. };
  13. },
  14. methods: {
  15. onClick: function() {
  16. alert("Button Clicked!")
  17. },
  18. removeLoading: function() {
  19. this.loading = !this.loading;
  20. }
  21. }
  22. }
  23. </script>

幽灵按钮

幽灵按钮将其他按钮的内容反色,背景变为透明,常用在有色背景上。

  1. <div style="background: rgb(190, 200, 200); padding: 1.5rem 1rem 1rem;">
  2. <v-button type="primary" ghost>Primary</v-button>
  3. <v-button ghost>Default</v-button>
  4. <v-button type="dashed" ghost>Dashed</v-button>
  5. <v-button type="danger" ghost>Danger</v-button>
  6. </div>

按钮组合

可以将多个 Button 放入 Button.Group 的容器中。通过设置 size 为 large small 分别把按钮组合设为大、小尺寸。若不设置 size,则尺寸为中。

  1. <v-button-group size="large">
  2. <v-button>Large</v-button>
  3. <v-button>Large</v-button>
  4. </v-button-group>
  5. <v-button-group>
  6. <v-button>Default</v-button>
  7. <v-button>Default</v-button>
  8. </v-button-group>
  9. <v-button-group size="small">
  10. <v-button>Small</v-button>
  11. <v-button>Small</v-button>
  12. </v-button-group>
  13. <br/><br/>
  14. <h3>带图标的组合</h3>
  15. <v-button-group>
  16. <v-button type="primary" icon="left">后退</v-button>
  17. <v-button type="primary">前进 <v-icon type="right"></v-icon></v-button>
  18. </v-button-group>
  19. <v-button-group>
  20. <v-button type="primary" icon="cloud"></v-button>
  21. <v-button type="primary" icon="cloud-download"></v-button>
  22. </v-button-group>

API

Button Props

参数说明类型可选值默认值
type设置按钮类型stringprimary dashed info success warning danger error 或者不设-
html-type设置 button 原生的 type 值string参考 HTML 标准(button reset submit)button
icon设置按钮的图标类型string参考Icon组件中的type可选值-
shape设置按钮形状stringcircle circle-outline 或者不设-
size设置按钮大小stringsmall large 或者不设default
loading设置按钮载入状态booleantrue falsefalse
ghost幽灵属性,使按钮背景透明booleantrue falsefalse

Button Group Props

参数说明类型可选值默认值
size设置按钮大小stringsmall large 或者不设default

Button Events

事件名称说明回调参数
click点击按钮时触发的事件事件对象