Commit 53e38f9c62e6c54d555bdf8dd591aafe9a93f079
1 parent
50f4ac70
added prop validators
Showing
1 changed file
with
17 additions
and
5 deletions
Show diff stats
src/components/carousel/carousel.vue
| ... | ... | @@ -24,7 +24,7 @@ |
| 24 | 24 | </template> |
| 25 | 25 | <script> |
| 26 | 26 | import Icon from '../icon/icon.vue'; |
| 27 | - import { getStyle } from '../../utils/assist'; | |
| 27 | + import { getStyle, oneOf } from '../../utils/assist'; | |
| 28 | 28 | |
| 29 | 29 | const prefixCls = 'ivu-carousel'; |
| 30 | 30 | |
| ... | ... | @@ -34,7 +34,10 @@ |
| 34 | 34 | props: { |
| 35 | 35 | arrow: { |
| 36 | 36 | type: String, |
| 37 | - default: 'hover' | |
| 37 | + default: 'hover', | |
| 38 | + validator (value) { | |
| 39 | + return oneOf(value, ['hover', 'always', 'never']); | |
| 40 | + } | |
| 38 | 41 | }, |
| 39 | 42 | autoplay: { |
| 40 | 43 | type: Boolean, |
| ... | ... | @@ -50,11 +53,17 @@ |
| 50 | 53 | }, |
| 51 | 54 | dots: { |
| 52 | 55 | type: String, |
| 53 | - default: 'inside' | |
| 56 | + default: 'inside', | |
| 57 | + validator (value) { | |
| 58 | + return oneOf(value, ['inside', 'outside', 'none']); | |
| 59 | + } | |
| 54 | 60 | }, |
| 55 | 61 | trigger: { |
| 56 | 62 | type: String, |
| 57 | - default: 'click' | |
| 63 | + default: 'click', | |
| 64 | + validator (value) { | |
| 65 | + return oneOf(value, ['click', 'hover']); | |
| 66 | + } | |
| 58 | 67 | }, |
| 59 | 68 | currentIndex: { |
| 60 | 69 | type: Number, |
| ... | ... | @@ -62,7 +71,10 @@ |
| 62 | 71 | }, |
| 63 | 72 | height: { |
| 64 | 73 | type: [String, Number], |
| 65 | - default: 'auto' | |
| 74 | + default: 'auto', | |
| 75 | + validator (value) { | |
| 76 | + return value === 'auto' || toString.call(value) === '[object Number]'; | |
| 77 | + } | |
| 66 | 78 | } |
| 67 | 79 | }, |
| 68 | 80 | data () { | ... | ... |