linnian
linnian
  • 发布:2022-08-03 10:37
  • 更新:2022-08-09 10:34
  • 阅读:261

【报Bug】udb组件,连表查询,nextTick 无效

分类:uniCloud

产品分类: uniCloud/App

示例代码:
<unicloud-db ref="udb" v-slot:default="{data, pagination, loading, hasMore, error, options}" :options="options"  
            :collection="colList" loadtime="manual">  

sectionChange(index) {  
                this.curNow = index;  

                if (this.curNow) {  
                    this.colList = [  
                        db.collection('questionnaire').where('uid==$cloudEnv_uid&&status==' + this.curNow).orderBy(  
                            'add_time desc').getTemp(),  
                        db.collection('survey').getTemp()  
                    ]  
                    console.log('已完成的');  
                } else {  
                    this.colList = [  
                        db.collection('questionnaire').where('uid==$cloudEnv_uid').orderBy('add_time desc').getTemp(),  
                        db.collection('survey').getTemp()  
                    ]  
                    console.log('全部');  
                }  
                this.$nextTick(() => {  
                    console.log('视图更新后重新加载数据',this.colList);  
                    this.$refs.udb.loadData({  
                        clear: true  
                    })  
                });  

            },

操作步骤:

使用代码示例

预期结果:

使用代码示例

实际结果:

根据控制台打印信息发现:
当我调用示例的方法,index = 1 时,
虽然nextTick正常运行,但是此时后台请求的还是之前index=0 时的请求。
再次调用index=1 才会正常返回结果

bug描述:

使用udb组件的时候,我用到了联表查询,下面的代码并没有如我预想的执行。

2022-08-03 10:37 负责人:DCloud_uni-ad_HDX 分享
已邀请:
DCloud_uni-ad_HDX

DCloud_uni-ad_HDX

运行到哪个平台?提供下完整的代码

  • linnian (作者)

    快手小程序平台,上面就是示例代码,一个方法,一个组件

    2022-08-10 17:09

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