详细问题描述
(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)
HBuilder X 更新到 2.6.11.20200409 版本,出现两个问题:
1。拓展组件uni-ui都不可用了,报如下错误:
工程路径/node_modules/@dcloudio/uni-ui/lib/uni-drawer/uni-drawer.vue:[-1,15]$r[0][i] is undefined
工程路径/node_modules/@dcloudio/uni-ui/lib/uni-load-more/uni-load-more.vue:[-1,41]$r[0][sc] is undefined
- 反向页面传值,setData方法报错,有人遇到同样的问题:getCurrentPages()方法返回的pages数组中元素的setData无法调用,例“'prevPage.setData' is undefined”
let pages = getCurrentPages();
let prevPage = pages[pages.length - 2];
prevPage.setData({
dataDict: e.detail.value,
isChanged: this.isChanged,
changedIndex: this.changedIndex
});
结果报错:
SyntaxError: JSON Parse error: Unexpected EOF ERROR
18:28:39.622 TypeError: undefined is not an object (evaluating 'currPage.data.dataDict') ERROR
18:28:46.621 TypeError: prevPage.setData is not a function. (In 'prevPage.setData({
18:28:46.646 dataDict: e.detail.value,
18:28:46.671 isChanged: this.isChanged,
18:28:46.696 changedIndex: this.changedIndex })', 'prevPage.setData' is undefined) __ERROR
重现步骤
[步骤]
[结果]
[期望]
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]
IDE运行环境说明
[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
[IDE版本号] 2.6.11.20200409
[windows版本号]
[mac版本号] 10.15.4
uni-app运行环境说明
[运行端是h5或app或某个小程序?] app
[运行端版本号]
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
[编译模式说明:自定义组件模式?纯nvue模式?v3模式?]
App运行环境说明
[Android版本号]
[iOS版本号]
[手机型号]
[模拟器型号]
附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[App安装包或H5地址]
[可重现代码片段]
联系方式
[QQ]
1***@qq.com (作者)
感谢解答,使用uni.$emit()可以完成页面传值功能,之前一直在用setData也可以。
uni-ui不可用不是这个问题导致的,现在还是不可用,一直报如下错误,所有uni-ui里的组件都不可用了,
我用npm i @dcloudio/uni-ui 重新集成,或者从github上下载源码导入都会报这个错误。
grid不可用:node_modules/@dcloudio/uni-ui/lib/uni-grid/uni-grid.vue:[-1,5]$r[0][sc] is undefined
grid不可用:node_modules/@dcloudio/uni-ui/lib/uni-grid-item/uni-grid-item.vue:[-1;-1,5,7-1]$r[0][i] is undefined
load more不可用:node_modules/@dcloudio/uni-ui/lib/uni-load-more/uni-load-more.vue:[-1,41]$r[0][sc] is undefined
tag不可用:node_modules/@dcloudio/uni-ui/lib/uni-tag/uni-tag.vue:[-1,37-7-0]$r[0][i] is undefined
2020-04-22 11:33
DCloud_UNI_HT
回复 1***@qq.com: uni-ui 的问题我在排查一下,npm 你安装的是什么版本?
2020-04-22 11:40
1***@qq.com (作者)
回复 DCloud_UNI_HT: npm -v 6.14.3
2020-04-22 11:43
DCloud_UNI_HT
回复 1***@qq.com: 我的表达有错误,我是说 npm 安装的 uni-ui 是什么版本
2020-04-22 11:44
1***@qq.com (作者)
回复 DCloud_UNI_HT: 我直接用 npm i @dcloudio/uni-ui 安装的,看npm上 Version 1.1.9。但我安装完成在路径 @dcloudio/uni-ui/package.json 里面 "version": "0.0.8" 请问如何查看正确的版本号?
2020-04-22 11:49
DCloud_UNI_HT
回复 1***@qq.com: 0.0.8 手动改成1.1.9试试 ,然后重新 npm install ,保证hx 或者cli 是最新版本
2020-04-22 11:54
1***@qq.com (作者)
回复 DCloud_UNI_HT: 还是不行,这样并不会更改 @dcloudio/uni-ui/lib 下面的拓展组件,npm install 后会在 uni-ui 路径下创建package-lock.json 和 node_modules 文件夹。使用 uni-ui/lib/ 下的组件还是会报错。
2020-04-22 12:05
1***@qq.com (作者)
回复 DCloud_UNI_HT: 手动更改了 "@dcloudio/uni-ui": "1.1.9", npm instal 之后 uni-ui 版本更新为1.1.9了,在使用组件时还会报错:
14:51:14.806 cid unmatched [object Object]
14:51:14.831 TypeError: Invalid attempt to destructure non-iterable instance.
14:51:14.856 In order to be iterable, non-array objects must have a [Symbol.iterator]() method.
2020-04-22 14:53
1***@qq.com (作者)
回复 DCloud_UNI_HT: HBuilder X 已更新为 2.6.15.20200421
2020-04-22 14:54
DCloud_UNI_HT
回复 1***@qq.com: 我排查一下
2020-04-22 15:07
1***@qq.com (作者)
回复 DCloud_UNI_HT: 您好,请问找到问题原因了吗?有解决方法吗?
2020-04-23 11:21
DCloud_UNI_HT
回复 1***@qq.com: 问题我本地复现不出来,能否提供一个简单可复现问题的 demo?
2020-04-23 12:58
1***@qq.com (作者)
回复 DCloud_UNI_HT: 评论里提供了demo
2020-04-23 13:46
1***@qq.com (作者)
回复 DCloud_UNI_HT: 您好,请问能否复现该问题?
2020-04-23 16:15
1***@qq.com (作者)
回复 DCloud_UNI_HT: 您好,请问demo能否复现该问题?能否告知是什么原因导致的吗?谢谢
2020-04-24 15:05