HarmonyOS ForEach循环渲染组件视图刷新问题

代码:

interface amt{
  amt:string;// 金额
  ischeck:boolean;//选择状态
}

@State amtList:Array<amt>=[];// 充值金额选择

let amtList=[] as Array<amt>
if(res3.payAmtLst.length>0){
  res3.payAmtLst.map((item,index)=>{
    amtList.push({
      amt:`${parseInt(item.amt)/1000}元`,
      ischeck:index==0?true:false
    } as amt)
  })
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

UI代码:

ForEach(this.amtList,(item:amt,index:number)=>{
  Text(item.amt).onClick(()=>{
    for(let i =0;i<this.amtList.length;i++){
      this.amtList[i].ischeck=index==i?true:false
    }
    console.log(JSON.stringify(this.amtList))
  })

})
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

数组数据变更了但未触发视图刷新,这个问题需要怎么处理

HarmonyOS
2024-12-25 09:04:14
2179浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
aquaa

@State装饰器不会响应深层次数组项子属性变化。请参考一下这个用例:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-rendering-control-foreach-V5#数据源数组项子属性变化

分享
微博
QQ
微信
回复
2024-12-25 10:17:29
相关问题
HarmonyOS ForEach创建的视图刷新问题
622浏览 • 1回复 待解决
HarmonyOS ForEach列表刷新问题
936浏览 • 1回复 待解决
HarmonyOS 组件刷新问题
800浏览 • 1回复 待解决
HarmonyOS 组件的下拉刷新问题
1252浏览 • 1回复 待解决
HarmonyOS Grid容器视图新问题
1174浏览 • 1回复 待解决
HarmonyOS 列表刷新问题
1331浏览 • 1回复 待解决
HarmonyOS webview刷新问题
822浏览 • 2回复 待解决
HarmonyOS 页面刷新问题
1128浏览 • 1回复 待解决
HarmonyOS 数据刷新问题
779浏览 • 1回复 待解决
HarmonyOS List item 刷新问题
1553浏览 • 1回复 待解决
HarmonyOS 页面数据刷新问题
917浏览 • 1回复 待解决
HarmonyOS LazyForEach数据刷新问题
696浏览 • 1回复 待解决
ForEach循环渲染的过程是什么样的
1716浏览 • 1回复 待解决
HarmonyOS UI 未刷新问题
1391浏览 • 0回复 待解决
HarmonyOS UI不刷新问题
826浏览 • 1回复 待解决
HarmonyOS @Builder UI刷新问题
749浏览 • 1回复 待解决
HarmonyOS swiper数据刷新问题
664浏览 • 1回复 待解决
HarmonyOS 页面跳转刷新问题
2032浏览 • 1回复 待解决
NativeWindowFlushBuffer接口刷新问题
2552浏览 • 1回复 待解决