详细问题描述
(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)
[内容]
titlenview 中动态设置searchInput 搜索框不生效,
在pages.json里配置了相关的搜索表单。如下:
"titleNView": {
"type": "transparent",
"backgroundColor": "#2082D0",
"titleColor": "#FFFFFF",
"buttons": [{
"fontSrc": "/static/fonts/libofont.ttf",
"text": "\ue640",
"color": "#FFFFFF",
"colorPressed":"#EEEEEE",
"float":"right"
},{
"fontSrc": "/static/fonts/libofont.ttf",
"text": "\ue63b",
"color": "#FFFFFF",
"colorPressed":"#EEEEEE",
"float":"right"
}],
"searchInput": {
"align":"left",
"backgroundColor": "rgba(231, 231, 231, 1)",
"borderRadius": "3px",
"placeholder": "请输入你的搜索内容",
"disabled": false,
"placeholderColor": "#AAA"
}
}
然后在vue页面中,动态设置,动态隐藏searchInput搜索框,我delete了该元素,输出日志也显示没有了此项,但结果还是有searchInput 搜索框。代码如下:
let currentWebview = this.$mp.page.$getAppWebview();
let tn = currentWebview.getStyle().titleNView;
tn.buttons = [];
for (let i in this.topButtons) {
tn.buttons.push(this.topButtons[i]);
}
tn.searchInput = {};
delete tn.searchInput; //删除searchinput属性 1
// delete tn['searchInput']; //删除searchinput属性 2
console.log('bbb', tn); //写日志,发现属性已经成功删除,但是页面上还是有searchInput
currentWebview.setStyle({
titleNView: tn
});
重现步骤
[步骤]
把我的代码拷贝放在你的工程里运行就行了。100%重现
[结果]
搜索框没有隐藏,还是出现在我的眼前
[期望]
期望能够按我的预期,我让他出现 就出现,让他隐藏就隐藏。
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]
IDE运行环境说明
[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
[IDE版本号]
hbuilderX 2.3.6.20191020
[windows版本号]
no
[mac版本号]
mac 10.14.6
uni-app运行环境说明
[运行端是h5或app或某个小程序?]
APP
[运行端版本号]
hbuilderX 2.3.6.20191020
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
[编译模式是老模板模式还是新的自定义组件模式?]
App运行环境说明
[Android版本号]
no
[iOS版本号]
13.1
[手机型号]
iphone 7
[模拟器型号]
iphone 11 pro max
附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[App安装包或H5地址]
[可重现代码片段]
联系方式
[QQ] 153387979
程序员SUMER (作者)
请问这个可以修改吗?因为确实有这个需求,希望下个版本支持。谢谢!
2019-10-25 10:00
DCloud_uniCloud_WYQ
回复 程序员SUMER: 可以用自定义导航栏解决这个问题,目前任务较多,这个排的比较靠后
2019-10-25 15:55
程序员SUMER (作者)
回复 DCloud_uniCloud_WYQ: ok, 还有一个问题,titleNView里面的buttons内容,本来是用onNavigationBarButtonTap 事件来监听这个按钮点击的,但是如果我动态修改了titleNView里的buttons按钮之后,这个监听事件失效了,而且是100%重现的,这应该也是有问题的,跟你提一下,看看能不能在以后的版本一齐修复了。
2019-10-29 15:55
DCloud_uniCloud_WYQ
回复 程序员SUMER: 这都是一个问题,欢迎持续关注
2019-10-29 16:06