HarmonyOS 鸿蒙Next API12如何设置动态属性?
HarmonyOS 鸿蒙Next API12如何设置动态属性?
项目从API9升级到了API12.好多语法上都要修改。
但是这个动态属性不知道如何修改。
interface DataBean{
mid:string
mtype:string
face:string
uname?:string
personal?:string
email?:string
sex?:string
rank:number
birthday:string
money:string
scores:string
position:string
typename?:string
company?:string
place:string
address?:string
background:number
ismember:number
name_status:number
company_status:number
realname_status:number
archives_image:string
Invitation_code:string
qrcode:string
is_comp:number
comp_vip:string
comp_endtime:string
}
let bean:DataBean
setBean(key:string){
bean[key] =“xxxxxxx” 这里的bean的动态属性如何修改呢??? API12已经不支持这样修改了
}
5 回复
采用反射的方式:
interface DataBean {
mid: string
mtype: string
face: string
uname?: string
personal?: string
email?: string
sex?: string
rank: number
birthday: string
money: string
scores: string
position: string
typename?: string
company?: string
place: string
address?: string
background: number
ismember: number
name_status: number
company_status: number
realname_status: number
archives_image: string
Invitation_code: string
qrcode: string
is_comp: number
comp_vip: string
comp_endtime: string
}
let bean: DataBean
let key = ‘ismemeber’
function setBean(bean: DataBean, key: string) {
Reflect.set(bean, key, ‘111’)
}
<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>
已经解决。新建一个ts文件,写一个公共方法转换一下 。ets不支持动态属性,ts文件支持。
export function ObjectConvert(data:object,key:string,value:string):object{
this.data[key]=value;
return data;
}
试试Record<string, string | number>满不满足你的需求
官方适配文档上看到过这个,跟我需要的内容不一样。
在HarmonyOS鸿蒙系统中,API 12版本引入了一系列新的特性和改进,以支持更丰富的应用开发需求。关于设置动态属性,通常可以通过以下几种方式实现:
-
XML布局文件与Java/Kotlin代码结合:
- 在XML布局文件中定义静态属性。
- 在Java或Kotlin代码中,通过findViewById找到对应的视图元素,然后使用setter方法动态设置属性。例如,对于TextView,可以使用
setText
方法动态设置文本内容。
-
数据绑定(Data Binding):
- 利用HarmonyOS提供的数据绑定机制,可以在布局文件中直接绑定数据对象,当数据对象发生变化时,视图属性会自动更新。
-
属性动画(Property Animation):
- 对于需要动态改变的视觉属性(如透明度、位置、大小等),可以使用属性动画系统,通过Animator类来设置动画效果,实现属性的平滑过渡。
-
自定义组件:
- 如果系统提供的组件无法满足需求,可以创建自定义组件,并在自定义组件中定义和处理动态属性。
请注意,以上方法的具体实现可能因项目需求和HarmonyOS版本的不同而有所调整。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html