HarmonyOS ForEach 遍历数据,循环渲染的UI中有button按钮,button文字要根据数据中的状态字段的改变而改变

怎么实现forEach的每个item中的button文字根据数据源的变化而改变?

HarmonyOS
2024-08-03 13:50:50
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
yu_qingbo

请参考:

build() { 
  Flex({ direction: FlexDirection.Column }) { 
    ForEach(this.dataList, (item, index) => { 
      Button({ type: ButtonType.Text, onClick: () => this.updateStatus(item.id, 'new status') }) { 
        // 使用三元运算符或其他逻辑来根据状态设置按钮文字   
        Text(item.status === 'active' ? 'Activate' : 'Deactivate').fontSize(16).margin({ top: '8vp' }) 
      }.width('100%').height('50vp').margin({ bottom: '8vp' }) 
    }, item => item.id) // 使用 id 作为 key   
  }.width('100%').height('100%').justifyContent(FlexAlign.Center).alignItems(FlexAlign.Center) 
}
分享
微博
QQ
微信
回复
2024-08-04 13:54:17
相关问题
button 字体颜色无法改变
3723浏览 • 1回复 待解决
ForEach数组发生改变UI没刷新
573浏览 • 1回复 待解决
ForEach循环渲染过程是什么样
816浏览 • 1回复 待解决
ForEach无法遍历全部数据,是什么原因
1907浏览 • 1回复 待解决
修改ForEach使用数据对象,UI不刷新
1770浏览 • 1回复 待解决
HarmonyOS 数据改变未刷新页面
692浏览 • 0回复 待解决
打开APP Button实现
375浏览 • 1回复 待解决
实名认证Button实现
365浏览 • 1回复 待解决
选择头像Button实现
434浏览 • 1回复 待解决
地图选点Button实现
346浏览 • 1回复 待解决