项目目录
项目目录
  • 发布:2022-05-20 16:30
  • 更新:2022-05-20 17:05
  • 阅读:1503

【报Bug】 TypeError: Cannot read property 'toLowerCase' of undefined

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: macOS Monterey 12.3.1 M1

手机系统: Android

手机系统版本号: Android 9.0

手机厂商: 华为

手机机型: Mate9

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: CLI

CLI版本号: 4.5

示例代码:
复制代码
<script setup>  
    import { ref } from "@vue/runtime-core";  
    const statusBarHeight = ref(0)  
    try {  
        statusBarHeight.value = uni.getSystemInfoSync().statusBarHeight  
    } catch (e) {  
        console.info("错误", e)  
    }  
</script>

操作步骤:

以上代码在HBuilder X alpha sdk 3.4.10版本下运行到安卓手机。

预期结果:

正常显示,不报错

实际结果:

报错,有该代码的组件无法显示。有时安卓手机白屏,苹果系统及模拟器都是正常显示。

bug描述:

页面中使用uni.getSystemInfoSync() 安卓手机白屏,通过终端调试查看报以下错误:

复制代码App Launch uni-app:///App.vue:4  
App Show uni-app:///App.vue:7  
env development uni-app:///App.vue:8  
Uncaught TypeError: Cannot read property 'toLowerCase' of undefined  
    at zt ()  
    at Object.Nn.s [as getSystemInfoSync] ()  
    at setTimeout ()  
zt  
Nn.s  
setTimeout  
setTimeout (async)  
(anonymous)  
__weex_bundle_entry__  
(anonymous) @ VM30:3  
(anonymous) @ VM30:4  
ZI  
JI  
global.(anonymous function).O  
(anonymous)  
(anonymous)  
_emit  
emit  
(anonymous)  
setup uni-app:///pages/index/index.vue:74  
{opt: {…}} "uni-app:///pages/index/index.vue:83"  
错误 TypeError: Cannot read property 'toLowerCase' of undefined  
    at zt ()  
    at Object.Nn.s [as getSystemInfoSync] ()  
    at setup ()  
    at hn ()  
    at ll ()  
    at sl ()  
    at Be ()  
    at Se ()  
    at Oe ()  
    at xt () uni-app:///components/y-nav/y-nav.vue:61  
状态栏高度 RefImpl {__v_isShallow: false, dep: undefined, __v_isRef: true, _rawValue: 0, _value: 0}dep: undefined__v_isRef: true__v_isShallow: false_rawValue: 0_value: 0value: (...)__proto__: Object uni-app:///components/y-nav/y-nav.vue:65  
App Hide uni-app:///App.vue:11
2022-05-20 16:30 负责人:无 分享
已邀请:
项目目录

项目目录 (作者)

已经解决了,原来是这里的问题:

import { ref, computed } from "@vue/runtime-core";

应该是 import { ref, computed } from "vue";

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

  • 标题 / 粗斜体
  • 代码片段
  • 超链接 / 图片 / 视频
  • 列表 / 引用

文章内容较多时,可以用标题分段 :

## 大标题 
### 小标题

斜体 / 粗体 :

**粗体** 
*斜体*
***粗斜体***

代码片段 :

``` javascript
代码片段
```

超链接 :

[链接文字](链接地址) 例: [百度](http://www.baidu.com)

图片 :

![图片说明](图片地址) 例: ![百度logo](http://www.baidu.com/img/bdlogo.gif)

视频 :

!![视频说明](视频地址) 例: !![优酷视频](http://youku.com)

有序列表 :

1. 123
2. 123
3. 123

无序列表 :

- 123
- 123
- 123

引用 : ( 双回车后结束引用 )

> 引用内容
引用内容
引用内容