1***@qq.com
1***@qq.com
  • 发布:2022-05-23 17:15
  • 更新:2023-08-15 12:45
  • 阅读:564

this.$refs.udb.loadData()的where条件怎么不生效

分类:uniCloud

where已经打印出来的,但是loadData没有生效,不知道怎么写,请哪位大佬指教一下

async onLoad(e) {  
			console.log('onload');  
			// 筛选出昵称不为空的用户  
			this.where = "nickname != null"  
			// 如果是代理,只能看代理自己的用户  
			if(this.uniIDHasRole('agenc')){  
				let res = await db.collection('uni-id-users').field('university_id').where('_id==$cloudEnv_uid').get()  
				let university_id = res.result.data[0].university_id  
				this.where += " && university_id == '"+ university_id + "'"  
			}  
			console.log(this.where);  
			this.$nextTick(()=>{  
				console.log(123);  
			  this.$refs.udb.loadData();      
			})  
			  
		},
2022-05-23 17:15 负责人:无 分享
已邀请:
DCloud_uniAD_HDX

DCloud_uniAD_HDX

如果想在 onload 中修改where,需要把组件配置手动模式,防止进入页面后自动加载数据

数据加载的过程中修改where是无效的,参考文档 https://uniapp.dcloud.net.cn/uniCloud/unicloud-db.html#where

参考下面的例子

<unicloud-db ref="udb" :where="where" v-slot:default="{data,pagination,loading,error,options}" :options="options" loadtime="manual"></unicloud-db>
  • 1***@qq.com (作者)

    我加上了哦,是uni-admin的代码


    <unicloud-db ref="udb" collection="uni-id-users,sp-university"  
    field="avatar_file,nickname,username,status,money,dcloud_appid,register_date,university_id.name" :where="where"
    page-data="replace" :orderby="orderby" :getcount="true" :page-size="options.pageSize"
    :page-current="options.pageCurrent" v-slot:default="{data,pagination,loading,error,options}"
    :options="options" loadtime="manual" @load="onqueryload">

    2022-05-24 14:53

1***@qq.com

1***@qq.com

确实存在这个问题!暂时只能用this.$nextTick()凑合了

要回复问题请先登录注册