Skip to content

Commit 94dc326

Browse files
committed
feat: support for setting the default spinner as a component
1 parent 1a7931d commit 94dc326

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

src/components/InfiniteLoading.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@ export default {
9393
},
9494
spinner: {
9595
type: String,
96-
default: config.props.spinner,
9796
},
9897
direction: {
9998
type: String,

src/components/Spinner.vue

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
<template>
22
<component :is="spinnerView"></component>
33
</template>
4+
45
<script>
6+
import config from '../config';
7+
58
const SPINNERS = {
69
BUBBLES: {
710
render(createElement) {
@@ -61,18 +64,23 @@ const SPINNERS = {
6164
},
6265
},
6366
};
67+
6468
export default {
65-
name: 'spinner',
69+
name: 'Spinner',
6670
computed: {
6771
spinnerView() {
68-
return SPINNERS[this.spinner.toUpperCase()];
72+
const spinner = this.$attrs.spinner || config.props.spinner;
73+
74+
return (
75+
typeof spinner === 'string'
76+
? (SPINNERS[spinner.toUpperCase()] || SPINNERS.DEFAULT)
77+
: spinner
78+
);
6979
},
7080
},
71-
props: {
72-
spinner: String,
73-
},
7481
};
7582
</script>
83+
7684
<style lang="less" scoped>
7785
@import '../styles/spinner';
7886
</style>

0 commit comments

Comments
 (0)