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-metaroot-font-size不起作用,如视频中的客服页。
  • 有些页面起作用了,但是有input输入框时,点击输入框,页面就会变回去,如视频中的登录页。
  • 视频和部分代码已截图放到附件中了。
  • 社区里有说使用setTimeout再改变字体大小。实际测试了,有时候是起作用,但是有时候没有用,没有规律。
  • 而且都会有一个共同点,有input输入框时,点击输入框,页面样式都会变回去。

附件


更多关于APP端有些页面使用uni-app的page-meta的root-font-size不起作用的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

参考文档平台差异说明

更多关于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端失效的问题,这确实是一个已知的兼容性问题。主要原因是:

  1. 在APP端,部分原生组件(如input)会触发页面重新渲染,导致root-font-size设置被重置

  2. 对于完全不起作用的页面,通常是页面层级或渲染时机的问题

临时解决方案可以尝试:

  1. 使用setTimeout延迟设置(虽然不稳定,但可以尝试更长的延迟时间)
setTimeout(() => {
  this.$set(this.$refs.pageMeta, 'rootFontSize', '24px')
}, 300)
回到顶部