Browse Source

fix: vite@2.7.0-beta.8 build incompatible template

i18n
xiaoxian521 3 years ago
parent
commit
ad3f964c32
  1. 65
      src/components/ReIcon/index.ts

65
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 icon from "./src/Icon.vue";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome"; import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
import iconifyIconOffline from "./src/iconifyIconOffline"; import iconifyIconOffline from "./src/iconifyIconOffline";
@ -44,11 +44,22 @@ export function findIcon(icon: String, type = "EL", property?: string) {
if (type === "FA") { if (type === "FA") {
return defineComponent({ return defineComponent({
name: "FaIcon", name: "FaIcon",
setup() {
data() {
return { icon, property }; return { icon, property };
}, },
components: { FontAwesomeIcon }, components: { FontAwesomeIcon },
template: `<font-awesome-icon :icon="icon" v-bind:[property]="true" />`
render() {
return h(
FontAwesomeIcon,
{
icon: `${this.icon}`,
[property]: true
},
{
default: () => []
}
);
}
}); });
} else if (type === "fa") { } else if (type === "fa") {
return defineComponent({ return defineComponent({
@ -56,7 +67,17 @@ export function findIcon(icon: String, type = "EL", property?: string) {
data() { data() {
return { icon: `fa ${icon}` }; return { icon: `fa ${icon}` };
}, },
template: `<i :class="icon" />`
render() {
return h(
"i",
{
class: `${this.icon}`
},
{
default: () => []
}
);
}
}); });
} else if (type === "IF") { } else if (type === "IF") {
return defineComponent({ return defineComponent({
@ -64,7 +85,17 @@ export function findIcon(icon: String, type = "EL", property?: string) {
data() { data() {
return { icon: `iconfont ${icon}` }; return { icon: `iconfont ${icon}` };
}, },
template: `<i :class="icon" />`
render() {
return h(
"i",
{
class: `${this.icon}`
},
{
default: () => []
}
);
}
}); });
} else if (type === "RI") { } else if (type === "RI") {
return defineComponent({ return defineComponent({
@ -72,7 +103,17 @@ export function findIcon(icon: String, type = "EL", property?: string) {
data() { data() {
return { icon: `ri-${icon}` }; return { icon: `ri-${icon}` };
}, },
template: `<i :class="icon" />`
render() {
return h(
"i",
{
class: `${this.icon}`
},
{
default: () => []
}
);
}
}); });
} else if (type === "EL") { } else if (type === "EL") {
return defineComponent({ return defineComponent({
@ -80,7 +121,17 @@ export function findIcon(icon: String, type = "EL", property?: string) {
data() { data() {
return { icon }; return { icon };
}, },
template: `<IconifyIconOffline :icon="icon" />`
render() {
return h(
IconifyIconOffline,
{
icon: `${this.icon}`
},
{
default: () => []
}
);
}
}); });
} else if (type === "SVG") { } else if (type === "SVG") {
return icon; return icon;

Loading…
Cancel
Save