1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
| import { h, defineComponent } from "vue";
| import { Icon as IconifyIcon, addIcon } from "@iconify/vue/dist/offline";
|
| // Iconify Icon在Vue里本地使用(用于内网环境)
| export default defineComponent({
| name: "IconifyIconOffline",
| components: { IconifyIcon },
| props: {
| icon: {
| default: null
| }
| },
| render() {
| if (typeof this.icon === "object") addIcon(this.icon, this.icon);
| const attrs = this.$attrs;
| if (typeof this.icon === "string") {
| return h(
| IconifyIcon,
| {
| icon: this.icon,
| "aria-hidden": false,
| style: attrs?.style
| ? Object.assign(attrs.style, { outline: "none" })
| : { outline: "none" },
| ...attrs
| },
| {
| default: () => []
| }
| );
| } else {
| return h(
| this.icon,
| {
| "aria-hidden": false,
| style: attrs?.style
| ? Object.assign(attrs.style, { outline: "none" })
| : { outline: "none" },
| ...attrs
| },
| {
| default: () => []
| }
| );
| }
| }
| });
|
|