diff --git a/packages/field/test/__snapshots__/index.spec.js.snap b/packages/field/test/__snapshots__/index.spec.js.snap
index f2a5673bd..56e11f10c 100644
--- a/packages/field/test/__snapshots__/index.spec.js.snap
+++ b/packages/field/test/__snapshots__/index.spec.js.snap
@@ -12,7 +12,6 @@ exports[`clearable 2`] = `
diff --git a/packages/goods-action/test/__snapshots__/demo.spec.js.snap b/packages/goods-action/test/__snapshots__/demo.spec.js.snap
index 3133fcc80..0d52cfb6e 100644
--- a/packages/goods-action/test/__snapshots__/demo.spec.js.snap
+++ b/packages/goods-action/test/__snapshots__/demo.spec.js.snap
@@ -5,24 +5,19 @@ exports[`renders demo correctly 1`] = `
diff --git a/packages/icon/index.js b/packages/icon/index.js
new file mode 100644
index 000000000..1da45927e
--- /dev/null
+++ b/packages/icon/index.js
@@ -0,0 +1,44 @@
+import { use } from '../utils';
+import Info from '../info';
+import isSrc from '../utils/validate/src';
+
+const [sfc] = use('icon');
+
+export default sfc({
+ props: {
+ name: String,
+ size: String,
+ color: String,
+ info: [String, Number],
+ classPrefix: {
+ type: String,
+ default: 'van-icon'
+ }
+ },
+
+ computed: {
+ isSrc() {
+ return isSrc(this.name);
+ }
+ },
+
+ render(h) {
+ return (
+
+ {this.$slots.default}
+ {this.isSrc &&
}
+
+
+ );
+ }
+});
diff --git a/packages/icon/index.vue b/packages/icon/index.vue
deleted file mode 100644
index ec7d314ce..000000000
--- a/packages/icon/index.vue
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/packages/nav-bar/test/__snapshots__/demo.spec.js.snap b/packages/nav-bar/test/__snapshots__/demo.spec.js.snap
index a7bb30b99..f118ee7c7 100644
--- a/packages/nav-bar/test/__snapshots__/demo.spec.js.snap
+++ b/packages/nav-bar/test/__snapshots__/demo.spec.js.snap
@@ -5,7 +5,6 @@ exports[`renders demo correctly 1`] = `
-
返回
标题
按钮
@@ -14,11 +13,9 @@ exports[`renders demo correctly 1`] = `
diff --git a/packages/notice-bar/test/__snapshots__/demo.spec.js.snap b/packages/notice-bar/test/__snapshots__/demo.spec.js.snap
index cbac3825a..e49d78e40 100644
--- a/packages/notice-bar/test/__snapshots__/demo.spec.js.snap
+++ b/packages/notice-bar/test/__snapshots__/demo.spec.js.snap
@@ -4,7 +4,6 @@ exports[`renders demo correctly 1`] = `
-
足协杯战线连续第2年上演广州德比战,上赛季半决赛上恒大以两回合5-3的总比分淘汰富力。
@@ -27,7 +26,6 @@ exports[`renders demo correctly 1`] = `
足协杯战线连续第2年上演广州德比战,上赛季半决赛上恒大以两回合5-3的总比分淘汰富力。
-
@@ -35,7 +33,6 @@ exports[`renders demo correctly 1`] = `
足协杯战线连续第2年上演广州德比战,上赛季半决赛上恒大以两回合5-3的总比分淘汰富力。
-
diff --git a/packages/radio/test/__snapshots__/demo.spec.js.snap b/packages/radio/test/__snapshots__/demo.spec.js.snap
index d8444e4ca..ebb115345 100644
--- a/packages/radio/test/__snapshots__/demo.spec.js.snap
+++ b/packages/radio/test/__snapshots__/demo.spec.js.snap
@@ -4,18 +4,18 @@ exports[`renders demo correctly 1`] = `
-
@@ -25,7 +25,7 @@ exports[`renders demo correctly 1`] = `
单选框1
-
@@ -33,7 +33,7 @@ exports[`renders demo correctly 1`] = `
单选框2
-
diff --git a/packages/rate/test/__snapshots__/demo.spec.js.snap b/packages/rate/test/__snapshots__/demo.spec.js.snap
index 3a333a905..859c0c903 100644
--- a/packages/rate/test/__snapshots__/demo.spec.js.snap
+++ b/packages/rate/test/__snapshots__/demo.spec.js.snap
@@ -4,56 +4,35 @@ exports[`renders demo correctly 1`] = `
diff --git a/packages/search/test/__snapshots__/demo.spec.js.snap b/packages/search/test/__snapshots__/demo.spec.js.snap
index 2a1db4ef8..0f04b2a2d 100644
--- a/packages/search/test/__snapshots__/demo.spec.js.snap
+++ b/packages/search/test/__snapshots__/demo.spec.js.snap
@@ -5,7 +5,6 @@ exports[`renders demo correctly 1`] = `