[Improvement] Button: add plain prop (#1444)

This commit is contained in:
neverland 2018-07-09 21:11:08 +08:00 committed by GitHub
parent 38fbd14161
commit 7c3d3db630
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 52 additions and 63 deletions

View File

@ -6,6 +6,12 @@
<van-button type="danger">{{ $t('danger') }}</van-button> <van-button type="danger">{{ $t('danger') }}</van-button>
</demo-block> </demo-block>
<demo-block :title="$t('plain')">
<van-button type="default" plain>{{ $t('default') }}</van-button>
<van-button type="primary" plain>{{ $t('primary') }}</van-button>
<van-button type="danger" plain>{{ $t('danger') }}</van-button>
</demo-block>
<demo-block :title="$t('title2')"> <demo-block :title="$t('title2')">
<van-button size="large">{{ $t('large') }}</van-button> <van-button size="large">{{ $t('large') }}</van-button>
<van-button size="normal">{{ $t('normal') }}</van-button> <van-button size="normal">{{ $t('normal') }}</van-button>
@ -27,19 +33,6 @@
{{ $t('button') }} {{ $t('button') }}
</van-button> </van-button>
</demo-block> </demo-block>
<demo-block :title="$t('title5')">
<van-button type="primary" bottom-action>{{ $t('button') }}</van-button>
<van-row>
<van-col span="12">
<van-button bottom-action>{{ $t('button') }}</van-button>
</van-col>
<van-col span="12">
<van-button type="primary" bottom-action>{{ $t('button') }}</van-button>
</van-col>
</van-row>
</demo-block>
</demo-section> </demo-section>
</template> </template>
@ -58,7 +51,8 @@ export default {
large: '大号按钮', large: '大号按钮',
normal: '普通按钮', normal: '普通按钮',
small: '小型按钮', small: '小型按钮',
mini: '迷你按钮' mini: '迷你按钮',
plain: '朴素按钮'
}, },
'en-US': { 'en-US': {
title1: 'Type', title1: 'Type',
@ -72,7 +66,8 @@ export default {
large: 'Large', large: 'Large',
normal: 'Normal', normal: 'Normal',
small: 'Small', small: 'Small',
mini: 'Mini' mini: 'Mini',
plain: 'Plain'
} }
} }
}; };
@ -83,8 +78,7 @@ export default {
.van-button { .van-button {
user-select: none; user-select: none;
&--large, &--large {
&--bottom-action {
margin-bottom: 15px; margin-bottom: 15px;
} }

View File

@ -17,6 +17,14 @@ Vue.use(Button);
<van-button type="danger">Danger</van-button> <van-button type="danger">Danger</van-button>
``` ```
#### Plain
```html
<van-button type="default" plain>Default</van-button>
<van-button type="primary" plain>Primary</van-button>
<van-button type="danger" plain>Danger</van-button>
```
#### Size #### Size
```html ```html
@ -48,21 +56,6 @@ Use `tag` prop to custom button tag
</van-button> </van-button>
``` ```
#### Action Button
```html
<van-button type="primary" bottom-action>Button</van-button>
<van-row>
<van-col span="12">
<van-button bottom-action>Button</van-button>
</van-col>
<van-col span="12">
<van-button type="primary" bottom-action>Button</van-button>
</van-col>
</van-row>
```
### API ### API
| Attribute | Description | Type | Default | | Attribute | Description | Type | Default |
@ -72,10 +65,10 @@ Use `tag` prop to custom button tag
| text | Text | `String` | - | | text | Text | `String` | - |
| tag | Tag | `String` | `button` | | tag | Tag | `String` | `button` |
| native-type | Native Type Attribute | `String` | `''` | | native-type | Native Type Attribute | `String` | `''` |
| disabled | Whether disable button | `Boolean` | `false` | | plain | Whether to be plain button | `Boolean` | `false` |
| disabled | Whether to disable button | `Boolean` | `false` |
| loading | Whether show loading status | `Boolean` | `false` | | loading | Whether show loading status | `Boolean` | `false` |
| block | Whether to set display block | `Boolean` | `false` | | block | Whether to set display block | `Boolean` | `false` |
| bottom-action | Whether to be action button | `Boolean` | `false` |
### Event ### Event

View File

@ -8,6 +8,7 @@
size, size,
{ {
block, block,
plain,
loading, loading,
disabled, disabled,
unclickable: disabled || loading, unclickable: disabled || loading,
@ -32,6 +33,7 @@ export default create({
props: { props: {
text: String, text: String,
block: Boolean, block: Boolean,
plain: Boolean,
loading: Boolean, loading: Boolean,
disabled: Boolean, disabled: Boolean,
nativeType: String, nativeType: String,

View File

@ -10,6 +10,14 @@ exports[`renders demo correctly 1`] = `
<button class="van-button van-button--danger van-button--normal"> <button class="van-button van-button--danger van-button--normal">
<!----><span class="van-button__text">危险按钮</span></button> <!----><span class="van-button__text">危险按钮</span></button>
</div> </div>
<div>
<button class="van-button van-button--default van-button--normal van-button--plain">
<!----><span class="van-button__text">默认按钮</span></button>
<button class="van-button van-button--primary van-button--normal van-button--plain">
<!----><span class="van-button__text">主要按钮</span></button>
<button class="van-button van-button--danger van-button--normal van-button--plain">
<!----><span class="van-button__text">危险按钮</span></button>
</div>
<div> <div>
<button class="van-button van-button--default van-button--large"> <button class="van-button van-button--default van-button--large">
<!----><span class="van-button__text">大号按钮</span></button> <!----><span class="van-button__text">大号按钮</span></button>
@ -37,19 +45,5 @@ exports[`renders demo correctly 1`] = `
按钮 按钮
</span></a> </span></a>
</div> </div>
<div>
<button class="van-button van-button--primary van-button--normal van-button--bottom-action">
<!----><span class="van-button__text">按钮</span></button>
<div class="van-row">
<div class="van-col van-col--12">
<button class="van-button van-button--default van-button--normal van-button--bottom-action">
<!----><span class="van-button__text">按钮</span></button>
</div>
<div class="van-col van-col--12">
<button class="van-button van-button--primary van-button--normal van-button--bottom-action">
<!----><span class="van-button__text">按钮</span></button>
</div>
</div>
</div>
</div> </div>
`; `;

View File

@ -18,6 +18,14 @@ Vue.use(Button);
<van-button type="danger">危险按钮</van-button> <van-button type="danger">危险按钮</van-button>
``` ```
#### 朴素按钮
```html
<van-button type="default" plain>默认按钮</van-button>
<van-button type="primary" plain>主要按钮</van-button>
<van-button type="danger" plain>危险按钮</van-button>
```
#### 按钮尺寸 #### 按钮尺寸
支持`large``normal``small``mini`四种尺寸,默认为`normal` 支持`large``normal``small``mini`四种尺寸,默认为`normal`
@ -52,20 +60,6 @@ Vue.use(Button);
</van-button> </van-button>
``` ```
#### 页面底部操作按钮
```html
<van-button type="primary" bottom-action>按钮</van-button>
<van-row>
<van-col span="12">
<van-button bottom-action>按钮</van-button>
</van-col>
<van-col span="12">
<van-button type="primary" bottom-action>按钮</van-button>
</van-col>
</van-row>
```
### API ### API
@ -76,10 +70,10 @@ Vue.use(Button);
| text | 按钮文字 | `String` | - | | text | 按钮文字 | `String` | - |
| tag | 按钮 HTML 标签 | `String` | `button` | | tag | 按钮 HTML 标签 | `String` | `button` |
| native-type | 按钮类型(原生) | `String` | - | | native-type | 按钮类型(原生) | `String` | - |
| plain | 是否为朴素按钮 | `Boolean` | `false` |
| disabled | 是否禁用 | `Boolean` | `false` | | disabled | 是否禁用 | `Boolean` | `false` |
| loading | 是否显示为加载状态 | `Boolean` | `false` | | loading | 是否显示为加载状态 | `Boolean` | `false` |
| block | 是否为块级元素 | `Boolean` | `false` | | block | 是否为块级元素 | `Boolean` | `false` |
| bottom-action | 是否为底部行动按钮 | `Boolean` | `false` |
### Event ### Event

View File

@ -53,6 +53,18 @@
border: 1px solid $button-danger-border-color; border: 1px solid $button-danger-border-color;
} }
&--plain {
background-color: $white;
&.van-button--primary {
color: $button-primary-background-color;
}
&.van-button--danger {
color: $button-danger-background-color;
}
}
&--large { &--large {
width: 100%; width: 100%;
height: 50px; height: 50px;