AV.User.current() 更新当前用户某一个字段值后,再次取AV.User.current()的时候除了这个刚更新的字段有值以外,剩下的字段都取不出来!除非重新登录一遍!AV.User.current()所有的字段值才能取出来!

你好,请把详细代码粘贴出来看下。

var currentUser = AV.User.current();
var file = new AV.File("avatar.jpg", { base64: ret.base64Str });
currentUser.set("avatar", file);
currentUser.set("nickname",“asdfasdf”);
currentUser.set("sex", "男");
currentUser.save(null,{
success:function(){

								},
								error:function(){
									
								}

应该是user save以后AV.User.current(); 把刚除更新以外的字段都去除了!

你好,我测试并没有问题。
测试代码如下:

AV.User.logIn("123", "321", {
		success: function (user) {
			console.log("登录成功");
			var currentUser = AV.User.current();
			currentUser.set('forum', 'https://forum.leancloud.cn/t/av-user-current-bug/5048');
			currentUser.save(null, {
			  success: function(user) {
			    // 成功保存之后,执行其他逻辑.
			    console.log('再次保存用户成功');
			    console.log(currentUser);
			  },
			  error: function(post, error) {
			    console.log('再次保存用户失败' + error.message);
			  }
			});
		},
		error: function (user, error) {
			console.log('登录失败' + error.message);
		}
	});

开发手机移动app里面的两个页面里面调用的,和你测试的应该不一样吧?情景是个人页面点击修改个人资料跳转到个人资料设置页,设置完毕更新了某一个字段内容返回个人页面后再次取AV.User.current()除了刚才更新的那个字段,其余的字段都消失了,重新登录以后再取AV.User.current() 所有字段都有了,是这么个情况!

currentUser缓存到本地后,和页面的跳转没有关系,只要留在当前app里面,就会一直有信息。
你可以在这里上传一个可复现的demo,然后我们可以看看怎么回事。

实在没有时间弄可以复现的demo,目前解决方案是只要更新用户字段就全部字段一起更新。就这样吧。