OpenHarmony开发者论坛

标题: 使用Styles装饰器,编译报错.stateStyles doesn't conform standard [打印本页]

作者: hyacinth    时间: 2023-8-29 16:24
标题: 使用Styles装饰器,编译报错.stateStyles doesn't conform standard
[md]【问题描述】

使用@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
[/md]
作者: gelsang    时间: 2023-8-29 16:26
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. }
复制代码







欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5