harmony 鸿蒙arkui子系统ChangeLog

  • 2023-10-30
  • 浏览 (320)

arkui子系统ChangeLog

cl.arkui.1 通用事件参数支持undefined

通用事件(点击事件、触摸事件、挂载卸载事件、按键事件、焦点事件、鼠标事件、组件区域变化事件)参数支持undefined。

示例:

// xxx.ets
@Entry
@Component
struct Example {
  build() {
    Button("test")
    .onClick(()=>{
      console.log("click");
    })
    .onClick(undefined)
  }
}

变更影响

如果事件回调参数为undefined,那么将不再响应已经设置的事件回调。

关键的接口/组件变更

不涉及。

适配指导

当事件参数设置为undefined,将会禁用该事件,依据实际应用开发场景进行参数设置即可。

cl.arkui.2 @Prop/@BuilderParam 状态变量需要初始化或从父组件传值

示例:

// xxx.ets
@Entry
@Component
struct Parent {
  @State message: string = 'Parent'
  build() {
    Column() {
      Child()   // 编译报错
    }
  }
}

@Component
struct Child {
  @Prop message: string
  build() {
    Column() {
      
    }
  }
}

变更影响

当@Prop/@BuilderParam 状态变量未初始化且未从父组件传值时,编译无法通过。

关键的接口/组件变更

不涉及。

适配指导

对@Prop/@BuilderParam 状态变量做初始化赋值或从父组件调用子组件时传入。

cl.arkui.3 @BuilderParam 状态变量初始化赋值必须为@Builder函数/方法

示例:

// xxx.ets
@Builder
function builderFunction() {
  Text('Hello Builder')
}

function normal () {

}

@Component
struct Index {
  @BuilderParam builderParam: ()=>void = builderFunction
  @BuilderParam builderParam2: ()=>void = normal   // 编译报错
  build() {
    Column() {

    }
  }
}

变更影响

@BuilderParam 状态变量初始化赋值非@Builder方法时,编译无法通过。

关键的接口/组件变更

不涉及。

适配指导

@BuilderParam 状态变量初始化赋值传入@Builder方法。

cl.arkui.4 Search组件的searchButton属性中SearchButtonOption修改为SearchButtonOptions

变更影响

如果显式地使用了SearchButtonOption类型,编译无法通过。

关键的接口/组件变更

searchButton属性中类型SearchButtonOption修改为SearchButtonOptions。

适配指导

SearchButtonOption修改为SearchButtonOptions。

cl.arkui.5 Overlay组件的BindSheet属性中SheetStyle修改为SheetOptions

变更影响

如果显式地使用了SheetStyle类型,编译无法通过。

关键的接口/组件变更

BindSheet属性中类型SheetStyle修改为SheetOptions。

适配指导

SheetStyle修改为SheetOptions。

cl.arkui.6 自定义组件生命周期接口onBackPress的接口返回值由void变更为void|boolean

示例:

// xxx.ets
@Entry
@Component
struct Index {
  async onBackPress() {}    // 编译报错
  build() {
    Column() {

    }
  }
}

变更影响

自定义组件生命周期函数onBackPress被修饰成async时,编译无法通过。

关键的接口/组件变更

onBackPress?(): void 变更为 onBackPress?(): void|boolean。

适配指导

自定义组件生命周期接口为系统适当时机回调的同步接口,需按照SDK定义的同步接口规格使用。应用开发者只需关注在接口中实现业务能力,使用async之类的标识修改接口本身规格是不合理的。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙程序访问控制子系统ChangeLog

harmony 鸿蒙arkcompiler子系统ChangeLog

harmony 鸿蒙包管理子系统ChangeLog

harmony 鸿蒙security子系统ChangeLog

0  赞