uni-app 使用最新版HBuilderX运行到安卓手机无法显示子组件

uni-app 使用最新版HBuilderX运行到安卓手机无法显示子组件

操作步骤:

  • 运行项目即可

预期结果:

  • 显示列表数据

实际结果:

  • 白屏,webview调试查看元素发现,list-item没有转换成普通view

bug描述:

  • 使用最新版HBuilderX(4.15)运行到安卓手机,无法显示子组件,经测试H5端正常显示(使用npm run dev:h5方式运行)
信息类别 详细信息
产品分类 uniapp/App
PC开发环境 Mac
PC版本号 13.6.6
手机系统 Android
手机版本号 Android 9.0
手机厂商 三星
手机机型 Galaxy S9+
页面类型 vue
vue版本 vue3
打包方式 离线
项目创建方式 CLI
CLI版本号 3.0.0-4010520240507001

bug_demo.zip


更多关于uni-app 使用最新版HBuilderX运行到安卓手机无法显示子组件的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

listItem 现在是 uniappx 的内置组件 不能以listItem命名自定义组件 改名字就行了 或者参考下这个问答:https://ask.dcloud.net.cn/question/190283

更多关于uni-app 使用最新版HBuilderX运行到安卓手机无法显示子组件的实战教程也可以访问 https://www.itying.com/category-93-b0.html


uni-app 中使用最新版 HBuilderX 运行到安卓手机时,如果无法显示子组件,可能是由于多种原因导致的。以下是一些常见的排查步骤和解决方案:

1. 检查代码逻辑

  • 确保子组件已正确引入:在父组件中,确保已经正确引入了子组件,并且在 components 中注册了子组件。
<template>
  <div>
    <ChildComponent />
  </div>
</template>

<script>
import ChildComponent from '@/components/ChildComponent.vue';

export default {
  components: {
    ChildComponent
  }
}
</script>
  • 检查子组件的模板:确保子组件的模板中有内容,并且没有条件渲染或隐藏逻辑导致组件不显示。
<template>
  <div>
    <!-- 子组件内容 -->
    <p>子组件内容</p>
  </div>
</template>

2. 检查样式问题

  • 确保子组件的样式没有被覆盖或隐藏:检查父组件和子组件的样式,确保没有使用 display: none 或者 visibility: hidden 等样式隐藏子组件。
  • 检查布局问题:确保子组件的布局没有溢出或被父组件裁剪。

3. 检查HBuilderX配置

  • 确保HBuilderX版本是最新的:有时旧版本的 HBuilderX 可能会有一些已知的 bug,更新到最新版本可能会解决问题。
  • 检查运行环境配置:在 HBuilderX 中,确保选择了正确的运行环境(如 Chrome、Android 模拟器或真机调试)。

4. 检查Vue版本兼容性

  • 确保Vue版本兼容uni-app 使用的是 Vue 2.x,如果你使用了 Vue 3.x 的语法或特性,可能会导致不兼容问题。

5. 调试工具

  • 使用开发者工具调试:在 HBuilderX 中运行到 Chrome 或使用 Android 真机调试时,可以使用 Chrome 开发者工具来检查组件是否正常渲染,以及是否有错误信息。

6. 检查异步数据加载

  • 确保数据加载完成后再渲染子组件:如果子组件依赖于异步加载的数据,确保数据加载完成后再渲染子组件。
<template>
  <div>
    <ChildComponent v-if="dataLoaded" />
  </div>
</template>

<script>
export default {
  data() {
    return {
      dataLoaded: false
    };
  },
  async created() {
    await this.loadData();
    this.dataLoaded = true;
  },
  methods: {
    async loadData() {
      // 异步加载数据
    }
  }
}
</script>
回到顶部