• Lv0
    粉丝1

积分72 / 贡献0

提问1答案被采纳0文章2

作者动态

使用Styles装饰器,编译报错.stateStyles doesn't conform standard

三只小海豚 显示全部楼层 发表于 2023-8-29 16:24:45

【问题描述】

使用@Styles装饰器,编译报错.stateStyles doesn't conform standard.如下图:

![]()

代码

@Entry
@Component
struct FancyUse {
  @State heightValue: number = 100
  // 定义在组件内的@Styles封装的样式
  @Styles globalFancy  () {
    .width('100%')
    .height('100%')
    .backgroundColor(Color.Pink)
    .textAlign(TextAlign.Center)
  }

  build() {
    Column({ space: 10 }) {
      // 使用全局的@Styles封装的样式
      Image($r('app.media.100'))
        .globalFancy ()
    }
  }
}

【运行环境】

硬件:rk3568; ROM: 3.2 Beta5; API 9

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论1

hyacinth养花人

沙发 发表于 2023-8-29 16:26:11
Styles装饰器内部只支持通用属性,使用了非通用属性作为Style的代码。去掉非通用属性textAlign,或者使用Builder来提取公共组件。
  1. @Entry
  2. @Component
  3. struct FancyUse {

  4.   @Builder MyImage(){
  5.   Image($r('app.media.100'))
  6.     .width('100%')
  7.     .height('100%')
  8.     .backgroundColor(Color.Pink)
  9.     .objectFit(ImageFit.Contain)
  10.   }
  11.   build() {
  12.     Column({ space: 10 }) {
  13.       // 使用全局的@Styles封装的样式
  14.       this.MyImage()
  15.     }
  16.   }
  17. }
复制代码


Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部