HarmonyOS 点击list的item,修改当前item的属性状态值List根据属性值变化刷新UI

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

参考如下demo:

export class ListModel {
  title: string;
  content: string;
  isComplete: boolean;

  constructor(title: string, content: string, isComplete: boolean) {
    this.title = title;
    this.content = content;
    this.isComplete = isComplete;
  }
}
@Entry
@Component
struct SyncPage {
  @State ListData: Array<ListModel> = [
    new ListModel('标题1', '内容1', true),
    new ListModel('标题2', '内容2', false),
    new ListModel('标题3', '内容3', false),
  ];

  build() {
    Column() {
      List() {
        ForEach(this.ListData, (item: ListModel, index: number) => {
          ListItem() {
            Row() {
              Row() {
                Text(item.title)
                Text(item.content).fontColor('#999999').fontSize(13)
              }

              Image(item.isComplete ? $r('app.media.ic_personal_focus') : $r('app.media.ic_personal_normal'))
                .width(20)
                .height(20)
                .margin(10)
            }
            .justifyContent(FlexAlign.SpaceBetween)
            .width('100%')
            .alignItems(VerticalAlign.Center)
            .height(80)
            .onClick(() => {
              let status = !item.isComplete
              this.ListData.map((el, itemIndex) => {
                if (itemIndex !== index) {
                  el.isComplete = false
                }
              })
              this.ListData.splice(index, 1, new ListModel(item.title, item.content, status))
            })
          }
        })
      }

      Button('确认', { type: ButtonType.Normal })
        .onClick(() => {
          console.log('打印listData选择的数据')
        })
    }

  }
}
分享
微博
QQ
微信
回复
4h前
相关问题
list-item 根据boolean属性 动态设置class
4839浏览 • 1回复 待解决
HarmonyOS List item 刷新问题
770浏览 • 1回复 待解决
HarmonyOS listitem如何保存状态
306浏览 • 2回复 待解决
Listitem点击变色有什么好方法吗
2179浏览 • 1回复 待解决
HarmonyOS listitem交互效果处理
382浏览 • 1回复 待解决
HarmonyOS listitem支持托动效果吗?
251浏览 • 1回复 待解决
HarmonyOSList是如何加载item
208浏览 • 2回复 待解决
怎么获取List里面每个itemposition?
270浏览 • 1回复 待解决
listadd跟remove item入场、出场动画
1248浏览 • 1回复 待解决