Commit 0ff50807335172b77f99db6d57cbb31f00337e41

Authored by Aresn
Committed by GitHub
2 parents 9932b935 1ca07948

Merge pull request #3654 from xiaofengsha/pr008

 Badge 组件增加 showZero 属性
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;
... ...