首页 > 编程语言 >Taro微信小程序,自定义TabBar在开发者工具中能显示,但真机调试不显示

Taro微信小程序,自定义TabBar在开发者工具中能显示,但真机调试不显示

时间:2024-11-22 11:56:34浏览次数:1  
标签:index 层级 bar 真机 自定义 custom tab Taro view

问题背景

Taro开发小程序,自定义TabBar, 在app.config.ts中,已配置好:

tabBar: {
    custom: true,
}

并自定义了custom-tab-bar文件夹,配置好了自定义的tabbar,在微信开发者工具中,正常显示

但是在真机调试中一片空白,检查wxml,元素存在,并且高度宽度正常,位置正常,只是被遮挡,添加z-index: 9999不生效,
最后发现是cover-view组件影响了层级,将cover-view组件改为view之后真机正常显示
但大家如果遇到类似的问题,可能需要做以下排查:

  • 路径和配置:确认文件位置及 app.json 配置是否正确。
  • 资源引用:检查样式和图片路径是否正确。
  • 样式设置:确保样式文件中没有隐藏 custom-tab-bar 的规则。
  • 逻辑代码:确保 this.getTabBar().setData() 的调用逻辑正确。
  • 环境版本:升级开发者工具和真机微信客户端。

如果还是有隐藏的问题:
例如:z-index: 9999 设置不起作用,通常是由于层级问题或父容器的布局特性限制了元素的显示层级。
以下是可能的原因及对应的解决方案:
1. custom-tab-bar 的层级受父级容器限制
原因:custom-tab-bar 所在的父级容器可能设置了 overflow: hidden 或者没有明确的层级关系,导致子元素的 z-index 无法生效。
解决方案:
检查 custom-tab-bar 的父级容器,确保没有overflow: hidden或类似样式。
修改 custom-tab-bar 的 position 为 fixed,使其脱离文档流:

.custom-tab-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50px;
  background-color: #fff;
  z-index: 9999;
}

2. 小程序页面的 cover-view 或其他组件影响层级
原因:在小程序中,cover-view、video等组件的层级默认会高于普通的 view 元素。
解决方案:
如果使用了cover-view,尝试调整布局避免它与 custom-tab-bar重叠。
确保 custom-tab-bar 没有被其他组件(如 cover-view 或 map)覆盖。
可以用 wx.createSelectorQuery() 确定实际布局层级问题。
3. 页面的 scroll-view 或其他元素遮挡
原因:如果页面中使用了 scroll-view,并且 scroll-view 的样式未正确设置,可能会遮挡 custom-tab-bar。
解决方案:
设置 scroll-view 的样式,避免影响 custom-tab-bar 的显示:

.scroll-view {
  margin-bottom: 50px; /* 根据 custom-tab-bar 的高度调整 */
}

4. 基础库版本问题
原因:部分层级行为可能与基础库版本有关。
解决方案:
检查小程序基础库版本是否是最新的,并确保你的代码与目标版本兼容。
在 app.json 中指定基础库最低版本,例如:

{
  "miniprogramRoot": "./",
  "compileType": "miniprogram",
  "setting": {
    "es6": true,
    "minify": true
  },
  "requiredBackgroundModes": ["audio"],
  "navigateToMiniProgramAppIdList": [],
  "networkTimeout": {
    "request": 10000,
    "downloadFile": 10000
  },
  "tabBar": {
    "custom": true
  },
  "permission": {},
  "condition": {}
}

5. 优先级问题
原因:在 CSS 中,z-index 的优先级可能被其他样式规则覆盖。
解决方案:
使用更高优先级的选择器,确保样式生效:

page .custom-tab-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50px;
  z-index: 9999;
}

6. 调试方式
使用 wx.createSelectorQuery() 检查 custom-tab-bar 的实际位置和层级:

const query = wx.createSelectorQuery();
query.select('.custom-tab-bar').boundingClientRect((rect) => {
  console.log(rect);
}).exec();

检查元素是否正确显示并处于可视区域。

标签:index,层级,bar,真机,自定义,custom,tab,Taro,view
From: https://www.cnblogs.com/Carmena/p/18562502

相关文章

  • 【C#应用】Windows Forms 自定义仪表盘控件开发
    本教程将详细介绍如何在WindowsForms中创建一个自定义的仪表盘控件。这个控件具有以下特性:可配置的颜色区间平滑的动画效果可自定义的外观刻度和数值显示设计时支持,这个以前没咋研究过,有点尴尬了。。先看一下效果以前一直没有认真的实现过控件集合编辑,发现这块还......
  • vxe-grid 自定义插槽模板
    在vxe-table中使用vxe-grid渲染表格,当配置式不能满足需求时,。需要使用自定义插槽模板来自定义业务需求,实现更灵活的功能。vxe-grid支持多种自定义方式,可以使用插槽模板,也可以使用插槽来自定义模板。自定义单元格模板<template><div><vxe-gridv-bind="gridOptions......
  • 【Python】0基础学Python——函数参数传递、函数细分、类的信息、元类、自定义元类、p
    0基础学Python——函数参数传递、函数细分、类的信息、元类、自定义元类、pickle序列化、序列化升级函数参数传递参数传递类型标注函数细分task任务型函数consumer消费型函数functional功能型函数类的信息元类type作用自定义元类pickle序列化序列化反序列化序列化升......
  • Easyexcel(5-自定义列宽)
    相关文章链接Easyexcel(1-注解使用)Easyexcel(2-文件读取)Easyexcel(3-文件导出)Easyexcel(4-模板文件)Easyexcel(5-自定义列宽)注解@ColumnWidth@DatapublicclassWidthAndHeightData{@ExcelProperty("字符串标题")privateStringstring;@ExcelProp......
  • 分享 vxe-table 实现打印出货单、自定义打印单据
    在公司开发列表时,经常会遇到需求打印出货单,接下来分享如何在vxe-table灵活的使用打印功能,非常简单就能实现能自定义的出货单打印。安装[email protected]@4.9.3//...importVxeUIfrom'vxe-pc-ui'import'vxe-pc-ui/lib/style.css'importVxeUITab......
  • 一段VUE代码:通过组件封装全局方法、自定义指令和注册组件
    index.js//插件定义第一种方式,对象:拥有install()方法的对象constmyPlugin={install(app,options){//配置全局方法app.config.globalProperties.globalMethod=function(value){returnvalue.toLowerCase();};//注册全局组件ap......
  • OpenLayers教程12_WebGL自定义着色器:实现高级渲染效果
    在OpenLayers中使用WebGL自定义着色器实现高级渲染效果目录一、引言二、WebGL自定义着色器的优势三、示例应用:实现动态渲染效果1.项目结构2.主要代码实现3.运行与效果四、代码讲解与扩展1.动态圆的半径和填充颜色2.动态透明度与边框效果五、总结六、参考资......
  • python 自定义数据分页
    defpaginate_data(data_list,size_page,current_page):"""数据分页函数:paramdata_list:list,数据列表:paramsize_page:int,每页的数量:paramcurrent_page:int,当前页码:return:tuple,(总页数,当前页码,当前页的数据列表)"""......
  • 自定义类型结构体(中)
    目录结构体内存对齐对齐规则例子一练习3练习4-结构体嵌套问题为什么存在内存对齐平台原因(移植原因)性能原因修改默认对齐数感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接......
  • React+AntD Table支持下拉分页和自定义输入分页条数
    实例支持在下拉分页框内输入分页条数来实现自定义分页代码usePageSizeSelect.jsimport{useEffect,useState}from"react";importBusfrom"../../utils/eventBus";exportfunctionusePageSizeSelect(){constonInputKeyDown=(e)=>{consttemp......