irpas技术客

解决uView添加自定义图标不成功_uview 图标_renovateF5

未知 6551

自定义图标的添加方法:

CustomIcon 扩展自定义图标库 | uView 2.0 - 全面兼容nvue的uni-app生态框架 - uni-app UI框架

这里1.0版本和2.0版本教程都是一样的,估计是很长没动过了。

解决步骤:

1.先按照上述链接把图标css文件下载下来,然后把css中的修改成和官方教程中的一样

2.修改css中的类名,把custom-icon改成custom-icon-,(原理在最下面)

修改之后的, @font-face { /* 声明"custom-icon"字体 */ font-family: "custom-icon"; src: url('data:application/x-font-woff2;charset=utf-8;base64,xxxxxxxx') format('woff2'); } .custom-icon- { /* 引用上面声明的"custom-icon"字体 */ font-family: "custom-icon" !important; font-size: 16px; font-style: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* 字体图标的前缀为"custom-icon-" */ .custom-icon-copy:before { content: "\e641"; }

3.写代码,把图标引入进去,注意这里用的代码和官方的不同

<u-icon custom-prefix="custom-icon-copy custom-icon"></u-icon>

原理(可以不看):

官方说的给两个值,一个是custom-prefix,一个是name,其实在内部合并成了custom-prefix-name。举例:

<u-icon custom-prefix="custom-icon" name="copy"></u-icon>

在组件u-icon内部处理出两个参数,一个是uClasses,是个类组成的数组,这里会push进去custom-prefix加上-和name拼接成的类名,也就是第一步的css中类名;一个是icon,自定义图标下用的是name。

也就是参数传递进去的组件和下面的一样

<text class="custom-icon-copy" >copy</text>

这样自定义图标是出不来的。换个写法就行了,同时不把name传递进去,因为图标遮不住这个参数name的文字。

<text class="custom-icon-copy custom-icon" ></text>

所以写法应该是这样的。之所以在第一步把css的类名后面加-,是因为组件u-icon内部会自己拼接上减号,custom-icon传进去会变成custom-icon-

<u-icon custom-prefix="custom-icon-copy custom-icon"></u-icon>


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #uView #图标 #扩展自定义图标库 #20