<style> @component-namespace demo { @b button { .zan-row { padding: 0 20px; } .zan-col { margin-bottom: 10px; } } } </style> ## Button 按钮 ### 使用指南 如果你已经按照[快速上手](/vue/component/quickstart)中引入了整个`ZanUI`,以下**组件注册**就可以忽略了,因为你已经全局注册了`ZanUI`中的全部组件。 #### 全局注册 你可以在全局注册`Button`组件,比如页面的主文件(`index.js`,`main.js`),这样页面任何地方都可以直接使用`Button`组件了: ```js import Vue from 'vue'; import { Button } from '@youzan/zanui-vue'; import '@youzan/zanui-vue/lib/zanui-css/button.css'; Vue.component(Button.name, Button); ``` #### 局部注册 如果你只是想在某个组件中使用,你可以在对应组件中注册`Button`组件,这样只能在你注册的组件中使用`Button`: ```js import { Button } from '@youzan/zanui-vue'; export default { components: { 'zan-button': Button } }; ``` ### 代码演示 #### 按钮功能 只接受`primary`, `default`, `danger`三种类型,默认`default`。 :::demo 按钮功能 ```html <zan-row> <zan-col span="24"> <zan-button block>default</zan-button> </zan-col> <zan-col span="24"> <zan-button type="primary" block>primary</zan-button> </zan-col> <zan-col span="24"> <zan-button type="danger" block>danger</zan-button> </zan-col> </zan-row> ``` ::: #### 禁用状态 在组件上加上`disabled`属性即可,此时按钮不可点击。 :::demo 禁用状态 ```html <zan-row> <zan-col span="24"> <zan-button disabled block>diabled</zan-button> </zan-col> </zan-row> ``` ::: #### 按钮尺寸 只接受`large`, `normal`, `small`, `mini`四种尺寸,默认`normal`。`large`按钮默认100%宽度。 :::demo 按钮尺寸 ```html <zan-row> <zan-col span="24"> <zan-button size="large">large</zan-button> </zan-col> </zan-row> <zan-row> <zan-col span="24"> <zan-button size="normal">normal</zan-button> </zan-col> </zan-row> <zan-row> <zan-col span="24"> <zan-button size="small">small</zan-button> </zan-col> </zan-row> <zan-row> <zan-col span="24"> <zan-button size="mini">mini</zan-button> </zan-col> </zan-row> ``` ::: #### 自定义按钮标签 按钮默认是`button`标签,可以使用`tag`属性修改为一个`a`标签。 :::demo 自定义按钮标签 ```html <zan-row> <zan-col span="24"> <zan-button tag="a" type="primary" href="https://www.youzan.com" target="_blank">a标签按钮</zan-button> </zan-col> </zan-row> ``` ::: #### loading按钮 `loading`状态的按钮。 :::demo loading按钮 ```html <zan-row> <zan-col span="24"> <zan-button type="primary" loading block>loading</zan-button> </zan-col> <zan-col span="24"> <zan-button loading block></zan-button> </zan-col> </zan-row> ``` ::: #### 页面底部操作按钮 一般用于`fixed`在底部的区域或是`popup`弹层的底部,一般只使用`primary`和`normal`两种状态。 :::demo ```html <zan-row> <zan-col span="24"> <zan-button type="primary" bottom-action>立即购买</zan-button> </zan-col> </zan-row> <zan-row> <zan-col span="12"> <zan-button bottom-action>加入购物车</zan-button> </zan-col> <zan-col span="12"> <zan-button type="primary" bottom-action>立即购买</zan-button> </zan-col> </zan-row> ``` ::: ### API | 参数 | 说明 | 类型 | 默认值 | 可选值 | |-----------|-----------|-----------|-------------|-------------| | type | 按钮类型 | `string` | `default` | `primary`, `danger` | | size | 按钮尺寸 | `string` | `normal` | `large`, `small`, `mini` | | tag | 按钮标签 | `string` | `button` | `a`, `span`, ... | | diabled | 按钮是否禁用 | `boolean` | `false` | | | block | 按钮是否显示为块级元素 | `boolean` | `false` | | | bottomAction | 按钮是否显示为底部行动按钮,一般显示在页面底部,有特殊样式 | `boolean` | `false` | |