Commit 0ff50807335172b77f99db6d57cbb31f00337e41
Committed by
GitHub
Merge pull request #3654 from xiaofengsha/pr008
Badge 组件增加 showZero 属性
Showing
2 changed files
with
16 additions
and
3 deletions
Show diff stats
examples/routers/badge.vue
| ... | ... | @@ -17,7 +17,11 @@ |
| 17 | 17 | <Badge dot :count="count"> |
| 18 | 18 | <a href="#" class="demo-badge"></a> |
| 19 | 19 | </Badge> |
| 20 | + <Badge :count="0" showZero> | |
| 21 | + <a href="#" class="demo-badge"></a> | |
| 22 | + </Badge> | |
| 20 | 23 | <Button @click="setCount">set count</Button> |
| 24 | + | |
| 21 | 25 | </div> |
| 22 | 26 | </template> |
| 23 | 27 | <script> | ... | ... |
src/components/badge/badge.vue
| ... | ... | @@ -5,7 +5,7 @@ |
| 5 | 5 | </span> |
| 6 | 6 | <span v-else :class="classes" ref="badge"> |
| 7 | 7 | <slot></slot> |
| 8 | - <sup v-if="count" :class="countClasses" v-show="badge">{{ finalCount }}</sup> | |
| 8 | + <sup v-if="hasCount" :class="countClasses" v-show="badge">{{ finalCount }}</sup> | |
| 9 | 9 | </span> |
| 10 | 10 | </template> |
| 11 | 11 | <script> |
| ... | ... | @@ -23,7 +23,11 @@ |
| 23 | 23 | type: [Number, String], |
| 24 | 24 | default: 99 |
| 25 | 25 | }, |
| 26 | - className: String | |
| 26 | + className: String, | |
| 27 | + showZero: { | |
| 28 | + type: Boolean, | |
| 29 | + default: false | |
| 30 | + } | |
| 27 | 31 | }, |
| 28 | 32 | computed: { |
| 29 | 33 | classes () { |
| ... | ... | @@ -60,7 +64,12 @@ |
| 60 | 64 | } |
| 61 | 65 | } |
| 62 | 66 | |
| 63 | - return status; | |
| 67 | + return status || this.showZero; | |
| 68 | + }, | |
| 69 | + hasCount() { | |
| 70 | + if(this.count) return true; | |
| 71 | + if(this.showZero && parseInt(this.count) === 0) return true; | |
| 72 | + else return false; | |
| 64 | 73 | }, |
| 65 | 74 | alone () { |
| 66 | 75 | return this.$slots.default === undefined; | ... | ... |