# ProgressBar
Provide up-to-date feedback on the progress of a workflow or action with simple yet flexible progress bars.
# Example
Default progress bar.
<template>
<div class="uiv">
<progress-bar v-model="progress" />
</div>
</template>
<script>
export default {
data() {
return {
progress: 66,
}
},
}
</script>
# With label
TIP
To ensure that the label text remains legible even for low percentages, consider use min-width
prop.
Default Label
Custom Label
Minimum Width
<template>
<div class="uiv">
<h4>Default Label</h4>
<progress-bar v-model="progress" label />
<h4>Custom Label</h4>
<progress-bar
v-model="progress"
label
label-text="Loading......Please wait."
/>
<h4>Minimum Width</h4>
<progress-bar v-model="progress1" min-width label />
</div>
</template>
<script>
export default {
data() {
return {
progress1: 1,
progress: 66,
}
},
}
</script>
# Contextual alternatives
Progress bars use some of the same button and alert classes for consistent styles.
<template>
<div class="uiv">
<progress-bar v-model="progress40" type="success" />
<progress-bar v-model="progress20" type="info" />
<progress-bar v-model="progress60" type="warning" />
<progress-bar v-model="progress80" type="danger" />
</div>
</template>
<script>
export default {
data() {
return {
progress20: 20,
progress40: 40,
progress60: 60,
progress80: 80,
}
},
}
</script>
# Striped
Uses a gradient to create a striped effect.
WARNING
Not available in IE9 and below.
<template>
<div class="uiv">
<progress-bar v-model="progress40" type="success" striped />
<progress-bar v-model="progress20" type="info" striped />
<progress-bar v-model="progress60" type="warning" striped />
<progress-bar v-model="progress80" type="danger" striped />
</div>
</template>
<script>
export default {
data() {
return {
progress20: 20,
progress40: 40,
progress60: 60,
progress80: 80,
}
},
}
</script>
# Animated
Animate the stripes right to left.
WARNING
Not available in IE9 and below.
<template>
<div class="uiv">
<progress-bar v-model="progress" striped active />
</div>
</template>
<script>
export default {
data() {
return {
progress: 40,
}
},
}
</script>
# Stacked
Place multiple <progress-bar-stack>
into the same <progress-bar>
to stack them.
<template>
<div class="uiv">
<progress-bar>
<progress-bar-stack v-model="progress35" type="success" />
<progress-bar-stack v-model="progress20" type="warning" striped />
<progress-bar-stack v-model="progress10" type="danger" />
</progress-bar>
</div>
</template>
<script>
export default {
data() {
return {
progress20: 20,
progress35: 35,
progress10: 10,
}
},
}
</script>
# API Reference
# ProgressBar (opens new window)
# Props
Name | Type | Default | Required | Description |
---|---|---|---|---|
v-model | Number | ✔ | Current progress (0 ~ 100). | |
label | Boolean | false | Show label on progress bar. | |
label-text | String | Custom label text. | ||
min-width | Boolean | false | Apply a minimum width to the progress bar, useful when showing label and small current value. | |
type | String | Progress bar type, support success / info / warning / danger. Or you can add custom types. | ||
striped | Boolean | false | Apply striped style. | |
active | Boolean | false | Apply active to striped style. |
# Slots
Name | Description |
---|---|
default | Use this slot if need stacked progress bar, see example in the code panel above. |
# ProgressBarStack (opens new window)
ProgressBar
and ProgressBarStack
shared same props.
← Pagination Carousel →