From 4fddc1fe381c0b0a3d78ecf95d4fb5226906ecda Mon Sep 17 00:00:00 2001 From: huangzhe <3451701311@qq.com> Date: Wed, 17 Sep 2025 14:01:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20vue=20=E5=90=AF=E5=8A=A8=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=E6=9B=B4=E6=94=B9=20#SZX-1230?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 现在由于字体原因导致部分图标无法加载。所以就提前去引导字体下载, 然后后面的 uview 默认走缓去显示图标 --- main.js | 15 ++++++++++----- uni_modules/uview-ui/components/u-icon/u-icon.vue | 1 + 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/main.js b/main.js index ce6631d..056c153 100644 --- a/main.js +++ b/main.js @@ -21,11 +21,16 @@ Vue.prototype.$keywordActiveShow=function(str,keyword){ import Vue from 'vue' Vue.config.productionTip = false App.mpType = 'app' -const app = new Vue({ - store, - ...App -}) -app.$mount() +// 启动方式改变。由于这个font放到后面组件内部加载会导致部分图标显示不完全,所以放到 app 启动前加载 +// 后面组件库 icon 的字体图标库默认走浏览器的缓存,这样图标就正常展示了 +const font = new FontFace('uicon-iconfont', 'url("https://at.alicdn.com/t/font_2225171_8kdcwk4po24.ttf")'); +font.load().then((loadedFont) => { + const app = new Vue({ + store, + ...App + }) + app.$mount() +}); // #endif // #ifdef VUE3 diff --git a/uni_modules/uview-ui/components/u-icon/u-icon.vue b/uni_modules/uview-ui/components/u-icon/u-icon.vue index 9340328..78a466b 100644 --- a/uni_modules/uview-ui/components/u-icon/u-icon.vue +++ b/uni_modules/uview-ui/components/u-icon/u-icon.vue @@ -161,6 +161,7 @@ @font-face { font-family: 'uicon-iconfont'; src: url('https://at.alicdn.com/t/font_2225171_8kdcwk4po24.ttf') format('truetype'); + font-display: block; } /* #endif */