航格瑞
航格瑞
  • 发布:2020-12-25 21:37
  • 更新:2021-12-13 17:50
  • 阅读:928

【报Bug】unicloud-db 的 getone 属性,加上就报错

分类:uniCloud

产品分类: uniCloud/App

操作步骤:

unicloud-db组件的 getone 属性加上报错

预期结果:

unicloud-db组件的 getone 属性加上报错

实际结果:

unicloud-db组件的 getone 属性加上报错

bug描述:


问题已找到,下面源码有bug
\plugins\uniapp-cli\node_modules\@dcloudio\uni-cli-shared\components\unicloud-db.vue
另外 page-data="replace" :getcount="true" 这两个属性要一起使用

<unicloud-db :getone="true" v-slot:default="{data, pagination, loading, hasMore, error, options}" collection="bill,uni-id-users">  

</unicloud-db>

unicloud-db组件的 getone 属性加上就报如下错误
TypeError: Cannot read property 'apply' of undefined
at http://localhost:8080/static/js/pages-test-index~pages-test-list.js:780:52
at <anonymous>

2020-12-25 21:37 负责人:DCloud_uniAD_HDX 分享
已邀请:
1***@qq.com

1***@qq.com

请问一下,具体是怎么解决getone加上就报TypeError: Cannot read property 'xxx' of undefined的错

DCloud_uniAD_HDX

DCloud_uniAD_HDX

测试没有问题,getone 后 data 是对象不是数组,是不是模板中访问了值为undefined的变量,例如 data 没有值的情况

1***@qq.com

1***@qq.com

data里面的值能够正常取到,但是还是会报错

  • DCloud_uniAD_HDX

    第一次网络没有返回时data是没有值的,你的截图是请求完后的吧,或者先判定loading状态在取数据

    2021-12-14 10:22

1***@qq.com

1***@qq.com

我也遇到的同样的问题,代码如下:

<unicloud-db v-slot:default="{data, loading, error, options}" collection="opendb-news-articles" >  
    <text>{{data[0]._id}}</text>  
</unicloud-db>

控制台报错:
[Vue warn]: Error in render: "TypeError: Cannot read property '_id' of undefined"
found in
---> <UniClouddb> at HBuilderX.3.2.9.20210927.full/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-cli-shared/components/unicloud-db.vue
at pages/test/test.vue
但是页面显示没有问题:

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