HarmonyOS ArkTS的class中如何动态的改变值

class obj {
     isLogin: boolean = false
     isVerify: boolean = false
     isAEAlive: boolean = false
     isAuth: boolean = false
     isRealName: boolean = false
     isRealNameMiddleStr: boolean = false
     cmServiceName: boolean = false
     notFull: boolean = false
     isBind: boolean = false
     isLegalPerson: boolean = false
     saveData(key:string,value:boolean){
       this[key] = value
     }
   }

需要调用saveData方法动态改变其中的值,但是不允许这样写,应该怎么写呢?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

可以通过在saveData()内通过switch-case的方式来匹配到对应的key:

saveData(key: string, value: boolean) {
   switch (key) {
     case "isLogin" :
       this.isLogin = value
       break;
     case "isVerify" :
       this.isVerify = value
       break;
     case "isAEAlive" :
       this.isAEAlive = value
       break;
     case "isAuth" :
       this.isAuth = value
       break;
     default:
   }
 }

在外部新建Obj对象,调用saveData()来动态修改value:

let a = new obj()
a.saveData('isLogin', true)
console.log('--------------' + a.isLogin)
分享
微博
QQ
微信
回复
22h前
相关问题
HarmonyOS如何动态改变图标
558浏览 • 1回复 待解决
求js class类名动态绑定问题?
6469浏览 • 1回复 待解决
如何动态设置组件属性
905浏览 • 1回复 待解决
如何ArkTS动态加载so
616浏览 • 1回复 待解决
ArkTS如何进行页面之间
189浏览 • 0回复 待解决
HarmonyOS Checkbox如何动态
22浏览 • 1回复 待解决
ArkTSclass有析构函数吗?
329浏览 • 1回复 待解决