在HarmonyOS API 11及之后的版本中,attributeModifier作为一个全新的属性被引入,其主要目的是支持跨文件调用封装好的样式类。在过去,无论是使用@Extend修饰符还是@Style修饰符,都很难真正做到样式的独立封装与复用,因为这两种方式都不支持export关键字,导致样式无法跨文件调用。而attributeModifier的出现,彻底改变了这一现状。
attributeModifier接受一个类型为AttributeModifier<T>的数据作为参数,其中泛型T代表了如ButtonAttribute、TextAttribute和ColumnAttribute等组件的特定属性。开发者需要根据具体需求,实现一个实现了AttributeModifier<T>接口的自定义类。这个自定义类中可以定义组件在不同状态下的样式,如普通状态、按压状态等,极大地增强了样式的可定制性和复用性。