uni-app unicloud-db使用loadtime="onready"时 H5无法自动加载数据 且getone属性无效

uni-app unicloud-db使用loadtime="onready"时 H5无法自动加载数据 且getone属性无效

操作步骤:

  • 随便整一个unicloud-db组件链接数据库,
  • 设置loadtime="onready"后h5无法自动请求服务器

预期结果:

  • 自动请求

实际结果:

  • 必须手动触发loadData()

bug描述:

unicloud-db使用loadtime="onready"时,h5无法自动加载数据
getone属性没用

7 回复

HBuilderX版本是否满足此属性的要求,请提供测试代码

更多关于uni-app unicloud-db使用loadtime="onready"时 H5无法自动加载数据 且getone属性无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html


你去unicloud-db源代码看看就知道 onready根本没有任何操作 参数onready只是写着玩的 别惊讶~~~

关键官方不承认,非让我提供测试代码,我都懒得提供

回复 清茶涩: 我已经被unicloud的权限bug搞得项目暂停了,悔恨当初选择了unicloud,这基本就是几个技术宅的玩具而已,不是一个成熟的项目,不是一个正经的公司。

回复 名图客: 权限bug你就自己建一个权限表自己玩,别用它的就得了呀。而且不用他那些开源库的和uni-db组件的话其他的都是对齐腾讯云开发的,没啥问题

回复 清茶涩: 改动太大了,入坑了就很难跳出来,要么全部重新开始就不用。主要也是懒得改。

这是一个已知的uni-app H5平台兼容性问题。loadtime="onready"在H5端确实存在无法自动触发的现象,特别是在某些页面生命周期中。

解决方案:

  1. 使用v-if控制组件渲染时机:在页面onLoadonReady后设置条件渲染
<unicloud-db 
  v-if="pageReady"
  loadtime="onready"
  collection="your-collection"
  @load="onDataLoad">
</unicloud-db>
export default {
  data() {
    return {
      pageReady: false
    }
  },
  onReady() {
    this.pageReady = true
  }
}
  1. 改用loadtime="auto"并配合手动触发:
<unicloud-db 
  ref="udb"
  loadtime="auto"
  collection="your-collection"
  manual="true">
</unicloud-db>
onReady() {
  this.$refs.udb.loadData()
}
回到顶部