APP端有些页面使用uni-app的page-meta的root-font-size不起作用
APP端有些页面使用uni-app的page-meta的root-font-size不起作用
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Mac | 14.4.1 | HBuilderX |
操作步骤:
- 在页面上添加
<page-meta root-font-size="24px"></page-meta>
预期结果:
- 预期是根据
root-font-size
的值,来调整页面字体的大小。
实际结果:
- 有些页面不起作用,如视频中的客服页。
- 有些页面起作用了,但是有输入框时,点击输入框,页面就会变回去,如视频中的登录页。
bug描述:
- 在APP端有些页面使用
page-meta
的root-font-size
不起作用,如视频中的客服页。 - 有些页面起作用了,但是有input输入框时,点击输入框,页面就会变回去,如视频中的登录页。
- 视频和部分代码已截图放到附件中了。
- 社区里有说使用
setTimeout
再改变字体大小。实际测试了,有时候是起作用,但是有时候没有用,没有规律。 - 而且都会有一个共同点,有
input
输入框时,点击输入框,页面样式都会变回去。
附件
更多关于APP端有些页面使用uni-app的page-meta的root-font-size不起作用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
参考文档平台差异说明
更多关于APP端有些页面使用uni-app的page-meta的root-font-size不起作用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
请先看附件里的视频。平台差异说明是指只有微信基础库 2.9.0版本库支持?还是指什么?文档上写了:从HBuilderX 2.6.3起,编译到所有平台均支持page-meta,但编译到微信时,受微信基础库版本限制;编译到其他平台不受平台版本限制。 麻烦讲解下。
而且使用vue2编译时,上述问题没见发生。
回复 jasonw: setTimeout延迟下再改变字体大小还不行吗?也没有复现你说的有输入框时,点击输入框,页面就会变回去。测试vue2和3一样,延迟下可以,你再试下,如果还不行那在页面里写样式
回复 DCloud_UNI_Anne: 首先page-meta组件中root-font-size的作用不是为了改变根节点的字体设置的吗?如果每个页面都要setTimeout设置这个,是不是违背了原先做这个的初衷?兼且这个在VUE2中没有问题,在VUE3出现,不应该解决吗?
回复 jasonw: 感谢反馈,已转给相关人员排查了
关于page-meta的root-font-size在APP端失效的问题,这确实是一个已知的兼容性问题。主要原因是:
-
在APP端,部分原生组件(如input)会触发页面重新渲染,导致root-font-size设置被重置
-
对于完全不起作用的页面,通常是页面层级或渲染时机的问题
临时解决方案可以尝试:
- 使用setTimeout延迟设置(虽然不稳定,但可以尝试更长的延迟时间)
setTimeout(() => {
this.$set(this.$refs.pageMeta, 'rootFontSize', '24px')
}, 300)