解决uniapp的tabBar使用iconfont图标显示方块

今天要写个uniapp的移动端项目,底部tabBar需要添加图标,以往都是以图片的形式引入,但是考虑到不同甲方的主题色也不会相同,使用图片的话,后期变换主题色并不友好,所以和UI商量之后,决定使用iconfont阿里巴巴矢量图标库。

想着就是需要简单的引入图标即可,但万万没想到,uniapp的坑,让我猝不及防,好在摸索了大半天,总算有个好的结果,为了记录这次跌倒的坑,决定写下来,希望能帮到其他人。

不过丑话说前面,每个人报错的原因都不一定相同,请自己进行排查错误之后,再针对性参考别人的意见,当然,代码这东西很玄学,有的时候,什么都对,就是出不来,也不是没有可能的。

  1. 在iconfont图标库选择自己需要用的图标,地址,打包下载至本地,放在static文件夹中,注意,我没有去调整css文件里相对路径或者在线地址什么的,(因为调整之后变成小方块了,图标啥也不显示),就打包下来有什么文件就放什么文件就行了
  2. 避坑如下:在pages.json文件中
javascript 复制代码
"tabBar": {
    "color": "#000000",
    "selectedColor": "#000000",
    "borderStyle": "white",
    "backgroundColor": "#ffffff",
	"iconfontSrc": "/static/icon/iconfont.ttf",//注意这里!!!!一定要在tabBar里,与list同级的位置引入iconfont的src,从static开始写!!!!!!!!
    "list": [{
        "pagePath": "pages/index",
		"iconfont": {
			"text": "\ue604",//这里也需要注意,使用的是iconfont里的Unicode类型下的代码标识,但是!引入时,需要将&#x改为\u,否则无法识别
			"selectedText": "\ue604",
			"color": "#e6e6e6",
			"selectedColor": "#07C160"
		},
        "text": "首页"
      }, {
        "pagePath": "pages/fillingList/index",
        "iconfont": {
        	"text": "\ue605",
        	"selectedText": "\ue605",
        	"color": "#e6e6e6",
        	"selectedColor": "#07C160"
        },
        "text": "旅游"
      }, {
        "pagePath": "pages/mine/index",
        "iconfont": {
        	"text": "\ue677",
        	"selectedText": "\ue677",
        	"color": "#e6e6e6",
        	"selectedColor": "#07C160"
        },
        "text": "个人"
      },
    ]
  },

icon图标显示小方块,搜索了很多文档说需要将iconfont.css文件里的src改为绝对路径啥的,我不知道为啥,按照他们的改了之后,不报错,也出不来。回归了原始的代码之后,iconfont的原文件,我什么都没改,就是需要注意下iconfontSrc的书写位置和地址引入问题 ,以及代码标识前缀改为\u

完美~

收工!

相关推荐
秋田君9 小时前
uniapp跨域问题解决方案
uni-app
T^T尚9 小时前
uniapp H5上传图片前压缩
前端·javascript·uni-app
new出一个对象12 小时前
uniapp的renderjs使用
uni-app
碎像12 小时前
uni-app 发布媒介功能(自由选择媒介类型的内容) 设计
uni-app
anyup_前端梦工厂12 小时前
uni-app 认识条件编译,了解多端部署
前端·vue.js·uni-app
anyup_前端梦工厂14 小时前
uni-app 玩转条件编译:自定义平台的条件编译实战详解
前端·vue.js·uni-app
anyup18 小时前
【附源码】微信公众号 h5 网页授权开发
前端·微信·uni-app
破z晓20 小时前
uni-app集成使用SQLite数据库
数据库·uni-app
五秒法则1 天前
从搭建uni-app+vue3工程开始
前端·vue.js·uni-app
dr李四维1 天前
应用商店双弹窗“APP在向用户申请权限时未同步告知用户申请此权限的理由”驳回uni-app应用上线的解决方法
前端·javascript·笔记·uni-app·产品运营·bug·产品经理