diff --git a/packages/button/test/__snapshots__/demo.spec.js.snap b/packages/button/test/__snapshots__/demo.spec.js.snap
index 710afad5c..6a44d9365 100644
--- a/packages/button/test/__snapshots__/demo.spec.js.snap
+++ b/packages/button/test/__snapshots__/demo.spec.js.snap
@@ -8,9 +8,9 @@ exports[`renders demo correctly 1`] = `
diff --git a/packages/loading/index.js b/packages/loading/index.js
new file mode 100644
index 000000000..057f6871f
--- /dev/null
+++ b/packages/loading/index.js
@@ -0,0 +1,52 @@
+import { use } from '../utils';
+
+const [sfc, bem] = use('loading');
+const DEFAULT_COLOR = '#c9c9c9';
+
+export default sfc({
+ props: {
+ size: String,
+ type: {
+ type: String,
+ default: 'circular'
+ },
+ color: {
+ type: String,
+ default: DEFAULT_COLOR
+ }
+ },
+
+ render(h) {
+ const { color, size, type } = this;
+
+ const colorType = color === 'white' || color === 'black' ? color : '';
+
+ const style = {
+ color: color === 'black' ? DEFAULT_COLOR : color,
+ width: size,
+ height: size
+ };
+
+ const Spin = [];
+ if (type === 'spinner') {
+ for (let i = 0; i < 12; i++) {
+ Spin.push(
);
+ }
+ }
+
+ const Circular = type === 'circular' && (
+
+ );
+
+ return (
+
+
+ {Spin}
+ {Circular}
+
+
+ );
+ }
+});
diff --git a/packages/loading/index.vue b/packages/loading/index.vue
deleted file mode 100644
index 29d90b6c7..000000000
--- a/packages/loading/index.vue
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/loading/test/__snapshots__/demo.spec.js.snap b/packages/loading/test/__snapshots__/demo.spec.js.snap
index d5e5503a3..eecd9447f 100644
--- a/packages/loading/test/__snapshots__/demo.spec.js.snap
+++ b/packages/loading/test/__snapshots__/demo.spec.js.snap
@@ -3,12 +3,12 @@
exports[`renders demo correctly 1`] = `
`;
diff --git a/packages/picker/test/__snapshots__/demo.spec.js.snap b/packages/picker/test/__snapshots__/demo.spec.js.snap
index 7a1090d57..9466c050e 100644
--- a/packages/picker/test/__snapshots__/demo.spec.js.snap
+++ b/packages/picker/test/__snapshots__/demo.spec.js.snap
@@ -86,7 +86,7 @@ exports[`renders demo correctly 1`] = `
diff --git a/packages/pull-refresh/test/__snapshots__/index.spec.js.snap b/packages/pull-refresh/test/__snapshots__/index.spec.js.snap
index 62cd4f6a8..59d324503 100644
--- a/packages/pull-refresh/test/__snapshots__/index.spec.js.snap
+++ b/packages/pull-refresh/test/__snapshots__/index.spec.js.snap
@@ -28,7 +28,7 @@ exports[`change head content when pulling down 3`] = `
@@ -41,7 +41,7 @@ exports[`change head content when pulling down 4`] = `
diff --git a/packages/submit-bar/test/__snapshots__/demo.spec.js.snap b/packages/submit-bar/test/__snapshots__/demo.spec.js.snap
index bad485237..17086b5c1 100644
--- a/packages/submit-bar/test/__snapshots__/demo.spec.js.snap
+++ b/packages/submit-bar/test/__snapshots__/demo.spec.js.snap
@@ -24,7 +24,7 @@ exports[`renders demo correctly 1`] = `
diff --git a/packages/switch-cell/test/__snapshots__/demo.spec.js.snap b/packages/switch-cell/test/__snapshots__/demo.spec.js.snap
index 558a89594..e312caf1a 100644
--- a/packages/switch-cell/test/__snapshots__/demo.spec.js.snap
+++ b/packages/switch-cell/test/__snapshots__/demo.spec.js.snap
@@ -37,7 +37,7 @@ exports[`renders demo correctly 1`] = `
diff --git a/packages/switch/test/__snapshots__/demo.spec.js.snap b/packages/switch/test/__snapshots__/demo.spec.js.snap
index 344cb5833..95434edef 100644
--- a/packages/switch/test/__snapshots__/demo.spec.js.snap
+++ b/packages/switch/test/__snapshots__/demo.spec.js.snap
@@ -19,7 +19,7 @@ exports[`renders demo correctly 1`] = `