3.1 release相对于3.1 beta变更详细说明

针对color.json中颜色值,增加合法性校验

针对color.json中颜色值,增加合法性校验,其校验规则如下:

  • 使用十六进制颜色码,格式如下:
    • #rgb:red(0-f) green(0-f) blue(0-f)
    • #argb:transparency(0-f) red(0-f) green(0-f) blue(0-f)
    • #rrggbb: red(00-ff) green(00-ff) blue(00-ff)
    • #aarrggbb: transparency(00-ff) red(00-ff) green(00-ff) blue(00-ff)
  • 使用$引用应用中已定义的资源,格式如下:
    • $color:xxx

变更影响

不符合上述校验规则,将在编译时报错。

关键的接口/组件变更

状态变量多种数据类型声明使用限制。

状态变量比如@State、@Provide、 @Link和@Consume等,定义数据类型时,只能同时由简单数据类型或对象引用数据类型其中一种构成。

示例:

@Entry
@Component
struct Index {
  //错误写法: @State message: string | Resource = 'Hello World'
  @State message: string = 'Hello World'

  build() {
    Row() {
      Column() {
        Text(`${ this.message }`)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
    }
    .height('100%')
  }
}

变更影响

当定义的状态变量类型中同时包含简单类型和对象引用数据类型时,编译报错提示不支持。

关键的接口/组件变更

当定义的状态变量类型中同时包含简单类型和对象引用数据类型时,需修改为只含有其中一种,如上述示例代码所示。