请参考示例如下:// xxx.ets @Entry @Component struct ListExample { @State arr: number[] = [0, 1, 2, 3, 4] @State modifier: MyButtonModifier = new MyButtonModifier() @Builder ListComponent(){ List({ space: 20, initialIndex: 0 }) { ForEach(this.arr, (item: number, index?: number) => { ListItem() { Column(){ Text('' + item) .width('100%') .height('100%') .fontSize(20) .textAlign(TextAlign.Center) .fontColor(Color.White) }.width('100%') .height(80) .attributeModifier(this.modifier) } }, (item: string) => item) }.width('100%') } build() { Column(){ this.ListComponent() } } } class MyButtonModifier implements AttributeModifier<ColumnAttribute> { applyNormalAttribute(instance: ColumnAttribute): void { instance.backgroundColor(Color.Black) } applyPressedAttribute(instance: ColumnAttribute): void { instance.backgroundColor(Color.Red) } }
请参考示例如下: