element/packages/progress/src/progress.vue

41 lines
879 B
Vue
Raw Normal View History

2016-07-27 06:15:02 +00:00
<template>
<div
class="el-progress"
:class="[
size ? 'el-progress--' + size : '',
type ? 'el-progress--' + type : ''
]"
>
<div class="el-progress__bar" :style="barStyle"></div>
2016-07-27 06:15:02 +00:00
</div>
</template>
<script>
export default {
name: 'ElProgress',
props: {
type: {
type: String,
default: 'blue',
validator: val => ['blue', 'blue-stripe', 'green', 'green-stripe'].indexOf(val) > -1
},
size: {
type: String,
validator: val => !val || ['large', 'small'].indexOf(val) > -1
2016-07-27 06:15:02 +00:00
},
percentage: {
type: Number,
default: 0,
required: true,
validator: val => val >= 0 && val <= 100
2016-07-27 06:15:02 +00:00
}
},
computed: {
barStyle() {
var style = {};
style.width = this.percentage + '%';
return style;
}
}
};
</script>