From ad3f964c324b9560c83edba2573bb91590d43e7e Mon Sep 17 00:00:00 2001
From: xiaoxian521 <1923740402@qq.com>
Date: Fri, 21 Jan 2022 18:26:52 +0800
Subject: [PATCH] fix: vite@2.7.0-beta.8 build incompatible template
---
src/components/ReIcon/index.ts | 65 ++++++++++++++++++++++++++++++----
1 file changed, 58 insertions(+), 7 deletions(-)
diff --git a/src/components/ReIcon/index.ts b/src/components/ReIcon/index.ts
index b4e8ba6..1557d08 100644
--- a/src/components/ReIcon/index.ts
+++ b/src/components/ReIcon/index.ts
@@ -1,4 +1,4 @@
-import { App, defineComponent } from "vue";
+import { h, App, defineComponent } from "vue";
import icon from "./src/Icon.vue";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import iconifyIconOffline from "./src/iconifyIconOffline";
@@ -44,11 +44,22 @@ export function findIcon(icon: String, type = "EL", property?: string) {
if (type === "FA") {
return defineComponent({
name: "FaIcon",
- setup() {
+ data() {
return { icon, property };
},
components: { FontAwesomeIcon },
- template: ``
+ render() {
+ return h(
+ FontAwesomeIcon,
+ {
+ icon: `${this.icon}`,
+ [property]: true
+ },
+ {
+ default: () => []
+ }
+ );
+ }
});
} else if (type === "fa") {
return defineComponent({
@@ -56,7 +67,17 @@ export function findIcon(icon: String, type = "EL", property?: string) {
data() {
return { icon: `fa ${icon}` };
},
- template: ``
+ render() {
+ return h(
+ "i",
+ {
+ class: `${this.icon}`
+ },
+ {
+ default: () => []
+ }
+ );
+ }
});
} else if (type === "IF") {
return defineComponent({
@@ -64,7 +85,17 @@ export function findIcon(icon: String, type = "EL", property?: string) {
data() {
return { icon: `iconfont ${icon}` };
},
- template: ``
+ render() {
+ return h(
+ "i",
+ {
+ class: `${this.icon}`
+ },
+ {
+ default: () => []
+ }
+ );
+ }
});
} else if (type === "RI") {
return defineComponent({
@@ -72,7 +103,17 @@ export function findIcon(icon: String, type = "EL", property?: string) {
data() {
return { icon: `ri-${icon}` };
},
- template: ``
+ render() {
+ return h(
+ "i",
+ {
+ class: `${this.icon}`
+ },
+ {
+ default: () => []
+ }
+ );
+ }
});
} else if (type === "EL") {
return defineComponent({
@@ -80,7 +121,17 @@ export function findIcon(icon: String, type = "EL", property?: string) {
data() {
return { icon };
},
- template: ``
+ render() {
+ return h(
+ IconifyIconOffline,
+ {
+ icon: `${this.icon}`
+ },
+ {
+ default: () => []
+ }
+ );
+ }
});
} else if (type === "SVG") {
return icon;