闪亮
闪亮
  • 发布:2019-08-19 14:03
  • 更新:2019-08-19 14:03
  • 阅读:976

【报Bug】subnvue做自定义navigationBar,安卓端style不生效

分类:nvue

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]

使用subnvue做自定义navigationBar,page.json代码如下:
{
"path": "pages/deviceDetails/deviceDetails",
"style": {

            "navigationStyle": "custom",  
            "app-plus": {  
                "scrollIndicator": "none",  
                "softinputNavBar": "none",  
                "titleNView": false,  
                "bounce": "none",  
                "popGesture": "none",  
                "subNVues": [{  
                            "id": "devdetailnav",  
                            "type":"navigationBar",  
                            "path": "pages/deviceDetails/subnvue/devdetailnav",  
                                                            "style": {  
                                "width": "100%",  
                                "height": "248upx"  
                            }  

                        }]  
            }  
        }  

这里设置的style中height170不起作用,页面运行起来还是默认的高度。好吧,自己在代码中再设置一次,
在vue文件中onShow中代码如下:
onShow() {
let _this = this;
setTimeout(function() {
uni.getSubNVueById('devdetailnav').setStyle({
top: '0px',
left: '0px',
width: '100%',
height: uni.upx2px(248) + 'px'
});

    }, 200);  

}
这样执行后navigationBar的高度正确了,但是问题来了。
安卓端,navigationBar下面的页面还是从navigationBar默认高度(貌似100upx,没仔细查)开始,这样导致了页面开始的一部分被遮挡住了。那么我padding一下让出高度,这样初始页面正确了,但是input获取焦点后弹出键盘页面resize后页面有乱了,这时页面的初始位置又从设置navigationBar的高度处开始,因为初始化的时候padding了一个高度的原因导致页面整体下移了。我在onresize中重置padding的数值页面抖动厉害。但是onresize一次之后就完全正常了。
我觉得应该是一个bug,希望官方能给个解决办法。

ios没有这个问题。

另外,subnvue不是在css中使用background-image指向一个图片文件,不论是本地文件还是网络文件或者是base64,
该属性都不起作用,到时官方demo中例子:background-image: linear-gradient(to right, #a80077, #66ff00);可以使用。
能不能明确说明一下background-image的注意事项?
[步骤]

[结果]

[期望]
可以通过style设置高度,然后navigationBar下面的页面从该高度开始渲染。

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

HBuilderX 开发uni-app

[IDE版本号]
2.0.1
[windows版本号]

[mac版本号]

uni-app运行环境说明

app

[运行端版本号]

HBuilderX创建

新的自定义组件

App运行环境说明

[Android版本号]
android6.0
[iOS版本号]
ios12
[手机型号]

[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

联系方式

83528667

2019-08-19 14:03 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复