Commit 15368be1723ee42255794524c1adee5b3cfd2c32
1 parent
5d122b37
Support Badge
Support Badge
Showing
7 changed files
with
66 additions
and
9 deletions
Show diff stats
CHANGE.md
@@ -9,4 +9,6 @@ value 改为了 label,使用 v-model,废弃 checked | @@ -9,4 +9,6 @@ value 改为了 label,使用 v-model,废弃 checked | ||
9 | ### CheckboxGroup | 9 | ### CheckboxGroup |
10 | value 改为了 label,使用 v-model,废弃 checked | 10 | value 改为了 label,使用 v-model,废弃 checked |
11 | ### Switch | 11 | ### Switch |
12 | -废弃checked, 改为了 value,使用 v-model | ||
13 | \ No newline at end of file | 12 | \ No newline at end of file |
13 | +废弃checked, 改为了 value,使用 v-model | ||
14 | +### Badge | ||
15 | +class 改为了 className | ||
14 | \ No newline at end of file | 16 | \ No newline at end of file |
README.md
src/components/badge/badge.vue
1 | <template> | 1 | <template> |
2 | - <span v-if="dot" :class="classes" v-el:badge> | 2 | + <span v-if="dot" :class="classes" ref="badge"> |
3 | <slot></slot> | 3 | <slot></slot> |
4 | <sup :class="dotClasses" v-show="badge"></sup> | 4 | <sup :class="dotClasses" v-show="badge"></sup> |
5 | </span> | 5 | </span> |
6 | - <span v-else :class="classes" v-el:badge> | 6 | + <span v-else :class="classes" ref="badge"> |
7 | <slot></slot> | 7 | <slot></slot> |
8 | <sup v-if="count" :class="countClasses" v-show="badge">{{ finalCount }}</sup> | 8 | <sup v-if="count" :class="countClasses" v-show="badge">{{ finalCount }}</sup> |
9 | </span> | 9 | </span> |
@@ -22,7 +22,7 @@ | @@ -22,7 +22,7 @@ | ||
22 | type: [Number, String], | 22 | type: [Number, String], |
23 | default: 99 | 23 | default: 99 |
24 | }, | 24 | }, |
25 | - class: String | 25 | + className: String |
26 | }, | 26 | }, |
27 | computed: { | 27 | computed: { |
28 | classes () { | 28 | classes () { |
@@ -35,7 +35,7 @@ | @@ -35,7 +35,7 @@ | ||
35 | return [ | 35 | return [ |
36 | `${prefixCls}-count`, | 36 | `${prefixCls}-count`, |
37 | { | 37 | { |
38 | - [`${this.class}`]: !!this.class, | 38 | + [`${this.className}`]: !!this.className, |
39 | [`${prefixCls}-count-alone`]: this.alone | 39 | [`${prefixCls}-count-alone`]: this.alone |
40 | } | 40 | } |
41 | ]; | 41 | ]; |
@@ -68,7 +68,7 @@ | @@ -68,7 +68,7 @@ | ||
68 | }; | 68 | }; |
69 | }, | 69 | }, |
70 | compiled () { | 70 | compiled () { |
71 | - const child_length = this.$els.badge.children.length; | 71 | + const child_length = this.$refs.badge.children.length; |
72 | if (child_length === 1) { | 72 | if (child_length === 1) { |
73 | this.alone = true; | 73 | this.alone = true; |
74 | } | 74 | } |
src/index.js
@@ -4,7 +4,7 @@ import 'core-js/fn/array/find-index'; | @@ -4,7 +4,7 @@ import 'core-js/fn/array/find-index'; | ||
4 | import Affix from './components/affix'; | 4 | import Affix from './components/affix'; |
5 | import Alert from './components/alert'; | 5 | import Alert from './components/alert'; |
6 | // import BackTop from './components/back-top'; | 6 | // import BackTop from './components/back-top'; |
7 | -// import Badge from './components/badge'; | 7 | +import Badge from './components/badge'; |
8 | // import Breadcrumb from './components/breadcrumb'; | 8 | // import Breadcrumb from './components/breadcrumb'; |
9 | import Button from './components/button'; | 9 | import Button from './components/button'; |
10 | // import Card from './components/card'; | 10 | // import Card from './components/card'; |
@@ -50,7 +50,7 @@ const iview = { | @@ -50,7 +50,7 @@ const iview = { | ||
50 | Affix, | 50 | Affix, |
51 | Alert, | 51 | Alert, |
52 | // BackTop, | 52 | // BackTop, |
53 | - // Badge, | 53 | + Badge, |
54 | // Breadcrumb, | 54 | // Breadcrumb, |
55 | // BreadcrumbItem: Breadcrumb.Item, | 55 | // BreadcrumbItem: Breadcrumb.Item, |
56 | // iButton: Button, | 56 | // iButton: Button, |
test/app.vue
@@ -23,6 +23,7 @@ li + li { border-left: solid 1px #bbb; padding-left: 10px; margin-left: 10px; } | @@ -23,6 +23,7 @@ li + li { border-left: solid 1px #bbb; padding-left: 10px; margin-left: 10px; } | ||
23 | <li><router-link to="/timeline">Timeline</router-link></li> | 23 | <li><router-link to="/timeline">Timeline</router-link></li> |
24 | <li><router-link to="/switch">Switch</router-link></li> | 24 | <li><router-link to="/switch">Switch</router-link></li> |
25 | <li><router-link to="/alert">Alert</router-link></li> | 25 | <li><router-link to="/alert">Alert</router-link></li> |
26 | + <li><router-link to="/badge">Badge</router-link></li> | ||
26 | </ul> | 27 | </ul> |
27 | </nav> | 28 | </nav> |
28 | <router-view></router-view> | 29 | <router-view></router-view> |
test/main.js
@@ -56,6 +56,10 @@ const router = new VueRouter({ | @@ -56,6 +56,10 @@ const router = new VueRouter({ | ||
56 | { | 56 | { |
57 | path: '/alert', | 57 | path: '/alert', |
58 | component: require('./routers/alert.vue') | 58 | component: require('./routers/alert.vue') |
59 | + }, | ||
60 | + { | ||
61 | + path: '/badge', | ||
62 | + component: require('./routers/badge.vue') | ||
59 | } | 63 | } |
60 | ] | 64 | ] |
61 | }); | 65 | }); |
1 | +<style scoped> | ||
2 | + .demo-badge{ | ||
3 | + width: 42px; | ||
4 | + height: 42px; | ||
5 | + background: #eee; | ||
6 | + border-radius: 6px; | ||
7 | + display: inline-block; | ||
8 | + } | ||
9 | +</style> | ||
10 | +<style> | ||
11 | + .demo-badge-alone{ | ||
12 | + background: #5cb85c !important; | ||
13 | + } | ||
14 | +</style> | ||
15 | +<template> | ||
16 | + <div> | ||
17 | + <Badge count="3"> | ||
18 | + <a href="#" class="demo-badge"></a> | ||
19 | + </Badge> | ||
20 | + <Badge dot> | ||
21 | + <a href="#" class="demo-badge"></a> | ||
22 | + </Badge> | ||
23 | + <Badge dot> | ||
24 | + <Icon type="ios-bell-outline" size="26"></Icon> | ||
25 | + </Badge> | ||
26 | + <Badge dot> | ||
27 | + <a href="#">可以是一个链接</a> | ||
28 | + </Badge> | ||
29 | + <Badge count="100"> | ||
30 | + <a href="#" class="demo-badge"></a> | ||
31 | + </Badge> | ||
32 | + <Badge count="1000" overflow-count="999"> | ||
33 | + <a href="#" class="demo-badge"></a> | ||
34 | + </Badge> | ||
35 | + <br> | ||
36 | + <Badge count="10"></Badge> | ||
37 | + <br><br> | ||
38 | + <Badge count="20" class-name="demo-badge-alone"></Badge> | ||
39 | + </div> | ||
40 | +</template> | ||
41 | +<script> | ||
42 | + export default { | ||
43 | + props: {}, | ||
44 | + data () { | ||
45 | + return {}; | ||
46 | + }, | ||
47 | + computed: {}, | ||
48 | + methods: {} | ||
49 | + }; | ||
50 | +</script> | ||
0 | \ No newline at end of file | 51 | \ No newline at end of file |