我用cc.sys.localStorage.getItem(“userName”)这个东西存储用户的账号,但是第一次进入的时候无法给EditBox赋值!各位大佬是怎么做的?请赐教!
未setItem 的键get到的值是 undefined,if 判断一下getItem的值就可以了。
undefined 就表示帐号未存在,直接显示登录框让用户输入帐号密码。
如果getItem的值为 true,把帐号复制到登录框里,再判断密码有没有记忆,没有记忆就给密码框焦点,让用户输入。如果有记忆密码,可以直接使用帐号密码一键登录。
这个功能是没有问题,但是最大的问题就是第一次点击登录,进来的时候给Editbox赋值不成功,我点击旁边的注册,然后返回回来后点击登录,就又有了!同样的我点击登录按钮,去填写信息,还是没有赋值,然后返回,再次点击登录按钮又有了!(初始页有两个按钮,注册,登录。)
来个demo,看不懂你的描述
在几个关键点 打印下日志 很容易就定位吧
80%代码逻辑问题 建议入楼上所说 打断点看看
断点后是赋值成功了的,只是没有显示。
跟你说个不幸的情况,我把这个EditBox的值能打印出来,但是就是不显示!
properties: {
m: cc.EditBox,
},
onLoad() {
if (!cc.sys.localStorage.getItem("2222")) {
cc.sys.localStorage.setItem("2222", 12315);
this.m.string = cc.sys.localStorage.getItem("2222");
}
}
你自己看下 第一次是能赋值成功的
