uni-app pages.json 中单个页面的配置无法覆盖全局配置
uni-app pages.json 中单个页面的配置无法覆盖全局配置
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | 10 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
PC开发环境操作系统版本号:10
HBuilderX类型:正式
HBuilderX版本号:2.7.5
手机系统:iOS
手机系统版本号:iOS 13.4
手机厂商:苹果
手机机型:11
页面类型:vue
打包方式:云端
操作步骤:
在 pages.json 中设置全局页面标题栏的配置
"globalStyle": {
...
"app-plus": {
...
"titleNView": {
"splitLine": {
"color": "#ccc",
"height": ".5px"
}
}
}
}
单个页面设置不显示标题栏
{
"path": "pages/login/index",
"style": {
...
"navigationStyle": "custom", // 无效,还是会显示标题栏
...
}
}
预期结果:
单个页面不显示标题栏
实际结果:
有个白区块
bug描述:
如果在 pages.json 中设置了全局页面标题栏的配置
"globalStyle": {
...
"app-plus": {
...
"titleNView": {
"splitLine": {
"color": "#ccc",
"height": ".5px"
}
}
}
}
那么单个页面如果设置不显示标题栏是无效的
{
"path": "pages/login/index",
"style": {
...
"navigationStyle": "custom", // 无效,还是会显示标题栏
...
}
}
更多关于uni-app pages.json 中单个页面的配置无法覆盖全局配置的实战教程也可以访问 https://www.itying.com/category-93-b0.html
titleNView 的优先级比 navigationStyle 高
参考下面的配置
{
“pages”: [
{
“path”: “pages/index4/index4”,
“style”: {
“navigationStyle”: “custom”,
“app-plus”: {
“titleNView”: false
}
}
}
],
“globalStyle”: {
“navigationBarTextStyle”: “black”,
“navigationBarTitleText”: “uni-app”,
“navigationBarBackgroundColor”: “#F8F8F8”,
“backgroundColor”: “#F8F8F8”,
“app-plus”: {
“titleNView”: {
“splitLine”: {
“color”: “#ccc”,
“height”: “.5px”
}
}
}
}
}
更多关于uni-app pages.json 中单个页面的配置无法覆盖全局配置的实战教程也可以访问 https://www.itying.com/category-93-b0.html
ok了,谢谢
这是一个已知的uni-app在App端的配置优先级问题。当在globalStyle中配置了app-plus.titleNView后,页面级的navigationStyle:"custom"会失效。
解决方案有两种:
- 在页面配置中明确设置titleNView为false:
{
"path": "pages/login/index",
"style": {
"app-plus": {
"titleNView": false
}
}
}
- 或者改用条件编译处理:
{
"path": "pages/login/index",
"style": {
"navigationStyle": "custom",
"app-plus": {
"titleNView": false
}
}
}