Page MenuHomePhorge

progress_button.vue
No OneTemporary

Size
663 B
Referenced Files
None
Subscribers
None

progress_button.vue

<template>
<button
:disabled="progress || disabled"
@click="onClick"
>
<template v-if="progress && $slots.progress">
<slot name="progress" />
</template>
<template v-else>
<slot />
</template>
</button>
</template>
<script>
export default {
props: {
disabled: {
type: Boolean
},
click: { // click event handler. Must return a promise
type: Function,
default: () => Promise.resolve()
}
},
data () {
return {
progress: false
}
},
methods: {
onClick () {
this.progress = true
this.click().then(() => { this.progress = false })
}
}
}
</script>

File Metadata

Mime Type
text/html
Expires
Tue, Jan 20, 1:34 PM (17 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
973455
Default Alt Text
progress_button.vue (663 B)

Event Timeline