HarmonyOS Grid相关问题

Grid() {  
  ForEach(this.zhutiList, (service: JSONValue, index) => {  
    GridItem() {  
      Text(JSONObject.parse(service?.toString()).get('title')?.toString().split('_')[0])  
        .fontSize(13).maxLines(1).ellipsisMode(EllipsisMode.END).padding({ top: 4, bottom: 4 })  
    }  
    .borderRadius(8)  
    .height(40)  
    .backgroundColor("#FAFAFA")  
  })  
}  
.margin({ top: 12, left: 16, right: 16 })  
.columnsGap(8)  
.rowsGap(8)  
.columnsTemplate('1fr 1fr')  
.maxCount(4)  
.id('grid')  
.cachedCount(0)  
.alignRules({ top: { anchor: 'title', align: VerticalAlign.Bottom } })

zhutiList是根据一个index来进行重新赋值的 日志打出来是已经变化了 但是grid那里切换时 对于已经渲染的gridItem不会修改 比如第一个列表有5个第,二个列表有3个,把第一个列表赋值给zhutiList后,渲染出5个gridItem,但是后面把第二个列表赋值给zhutiList后,gridItem虽然变成3个,但是这3个的数据还是第一个列表的三个数据,这个有相关的设置吗?

HarmonyOS
2024-09-30 11:26:33
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

在Grid组件嵌套ForEach语句中,如果根据索引重新赋值GridItem子组件的值,可能会遇到问题。这是因为当使用ForEach循环时,每个子组件都会有自己的索引值。如果需要对所有子组件执行相同的操作,而不是根据它们的索引进行区分,那么推荐使用其他方式来减少重复代码。例如,可以将所有子组件放入一个单独的数组中,并在循环中对该数组进行操作。这样做可以避免在每次循环时重新计算索引值所带来的潜在问题。

分享
微博
QQ
微信
回复
2024-09-30 16:42:38
相关问题
HarmonyOS Grid组件子项拖动问题
151浏览 • 1回复 待解决
HarmonyOS Grid容器视图更新问题
471浏览 • 1回复 待解决
HarmonyOS 关于Grid组件拖拽排序的问题
396浏览 • 0回复 待解决
HarmonyOS 使用Grid和GriItem组合的问题
342浏览 • 1回复 待解决
HarmonyOS AccountKit相关问题
449浏览 • 1回复 待解决
HarmonyOS 证书相关问题
357浏览 • 1回复 待解决
HarmonyOS BindSheet相关问题
395浏览 • 1回复 待解决
HarmonyOS KVStore 相关问题
194浏览 • 1回复 待解决
HarmonyOS 线程相关问题
447浏览 • 1回复 待解决
HarmonyOS Grid自适应高度和拖拽问题
441浏览 • 1回复 待解决
HarmonyOS CardRecognition相关问题
131浏览 • 1回复 待解决
HarmonyOS音频相关问题
491浏览 • 1回复 待解决
HarmonyOS protobuf相关问题
439浏览 • 1回复 待解决
HarmonyOS RN相关问题
476浏览 • 1回复 待解决
HarmonyOS 地图相关问题
597浏览 • 1回复 待解决
Grid组件性能问题有哪些?
396浏览 • 1回复 待解决
HarmonyOS dialog弹窗相关问题
411浏览 • 1回复 待解决
HarmonyOS 路径动画相关问题
633浏览 • 1回复 待解决
HarmonyOS 路由栈相关问题
269浏览 • 1回复 待解决
HarmonyOS Video组件相关问题
394浏览 • 1回复 待解决
HarmonyOS文件读写相关问题
567浏览 • 1回复 待解决
HarmonyOS 媒体问题相关咨询
163浏览 • 1回复 待解决
HarmonyOS AOT相关问题咨询
392浏览 • 1回复 待解决
HarmonyOS 弹窗的相关问题
250浏览 • 1回复 待解决
HarmonyOS 列表List相关问题
402浏览 • 1回复 待解决