HarmonyOS @Extend定义的方法能否跨文件使用

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

可以在其他文件中使用,但是无法导出。如果想提取公共样式,可以使用attributeModifier。 https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-attribute-modifier-V5#attributemodifier

attributeModifier当前支持封装一个样式导出供其他组件使用,示例如下:

// CommonAttribute.ets
export class TitleTextAttribute implements AttributeModifier<TextAttribute> {
  applyNormalAttribute(instance: TextAttribute): void {
    instance.backgroundColor(Color.Black)
    instance.fontColor(Color.White)
    instance.fontSize(40)
  }
}
// Index.ets
import { TitleTextAttribute } from './CommonAttribute'

@Entry
@Component
struct Index {
  @State modifier: TitleTextAttribute = new TitleTextAttribute()
  build() {
    Row() {
      Column() {
        Text('Hello World')
          .attributeModifier(this.modifier)
      }
      .width('100%')
    }
    .height('100%')
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 能否模块使用@Styles
340浏览 • 1回复 待解决
@Extend样式如何组件共享?
2416浏览 • 1回复 待解决
HarmonyOS @Extend 使用问题
533浏览 • 1回复 待解决
能否使用类似css里calc方法
403浏览 • 1回复 待解决
关于 Extend 使用问题
320浏览 • 1回复 待解决
ets文件怎么调用ts文件定义方法
3101浏览 • 1回复 待解决
HarmonyOS 文件样式复用
157浏览 • 1回复 待解决
HarmonyOS 文件复用样式
88浏览 • 1回复 待解决
getContext(this)能否在自定义类中使用
2309浏览 • 1回复 待解决
HarmonyOS 如何har访问resfile文件
307浏览 • 1回复 待解决
HarmonyOS 弹窗样式能否支持自定义
90浏览 • 1回复 待解决