2016-07-27 06:15:02 +00:00
|
|
|
<template>
|
|
|
|
<div
|
|
|
|
class="el-progress"
|
|
|
|
:class="[
|
|
|
|
size ? 'el-progress--' + size : '',
|
|
|
|
type ? 'el-progress--' + type : ''
|
|
|
|
]"
|
|
|
|
>
|
2016-08-19 10:54:18 +00:00
|
|
|
<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,
|
2016-08-19 10:54:18 +00:00
|
|
|
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,
|
2016-08-19 10:54:18 +00:00
|
|
|
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>
|