harmony 鸿蒙arkui子系统ChangeLog
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之类的标识修改接口本身规格是不合理的。
你可能感兴趣的鸿蒙文章
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦