1# ArkUI子系统Changelog 2 3## cl.arkui.1 TextPicker内容默认布局行为变更 4 5**访问级别** 6 7公开接口 8 9**变更原因** 10 11TextPicker布局绘制逻辑与DatePicker、TimePicker不一致, 当组件高度设置过大时,滑动选项显示数量会超过5个,导致上下边缘渐隐效果异常。 12 13**变更影响** 14 15该变更为兼容性变更。 16 17变更前,TextPicker的滑动选项总高度与组件高度相同,且滑动事件在整个组件内相应。 18 19 20 21变更后,TextPicker组件高度过大时(大于5个滑动选项所需高度),组件的整体高度不发生改变,但滑动选项最多只会显示5个,在组件内上下居中显示,剩余区域将填充空白,且手势事件将只在滑动选项区域响应。 22 23 24 25**API Level** 26 278 28 29**变更发生版本** 30 31从OpenHarmony SDK 5.0.0.17 开始。 32 33**变更的接口/组件** 34 35受影响的组件:TextPicker。 36 37**适配指导** 38 39默认行为变更,无需适配,但应注意变更后的行为是否对整体应用逻辑产生问题。 40 41## cl.arkui.2 Dialog在页面路由跳转时关闭行为变更 42 43**访问级别** 44 45公开接口 46 47**变更原因** 48 49在层级结构上,页面和弹窗是同级的,它们相互独立,页面路由跳转时不应自动关闭弹窗,弹窗的关闭行为应由开发者根据需要自行控制。 50 51**变更影响** 52 53该变更为非兼容性变更。 54 55变更前,若页面存在弹窗时进行路由跳转,页面内容会切换,同时也会自动关闭最后一个弹窗。 56 57变更后,若页面存在弹窗时进行路由跳转,只会进行页面内容切换,不再自动关闭弹窗,即弹窗始终处于页面之上不会消失。 58 59**API Level** 60 619 62 63**变更发生版本** 64 65从OpenHarmony SDK 5.0.0.17 开始, API 12及后续版本生效。 66 67**变更的接口/组件** 68 69受影响的组件:Router、 Dialog。 70 71**适配指导** 72 73若开发者在页面路由跳转时要关闭当前页面所有弹窗,可在路由跳转前调用弹窗的close方法进行手动关闭。 74 75示例代码如下: 76```ts 77import router from '@ohos.router'; 78// 记录当前页面所有弹窗 79const dialogs: Map<string, CustomDialogController> = new Map(); 80 81@CustomDialog 82struct CustomDialogExample { 83 controllerTwo?: CustomDialogController 84 build() { 85 Column() { 86 Button('点击进行路由跳转') 87 .onClick(() => { 88 // 关闭当前页面所有弹窗 89 dialogs.forEach((controller, name) => { 90 controller.close(); 91 }) 92 // 路由跳转 93 router.pushUrl({url: 'pages/Index'}) 94 }) 95 } 96 } 97} 98 99@Entry 100@Component 101struct CustomDialogUser { 102 dialogController: CustomDialogController | null = new CustomDialogController({ 103 builder: CustomDialogExample(), 104 }) 105 build() { 106 Column() { 107 Button('点击打开弹窗') 108 .onClick(() => { 109 if (this.dialogController != null) { 110 // 打开弹窗 111 this.dialogController.open() 112 // 记录当前弹窗 113 dialogs.set('first', this.dialogController) 114 } 115 }) 116 } 117 } 118} 119``` 120 121## cl.arkui.3 Image组件按照syncLoad来同步/异步加载PixelMap格式图片 122 123**访问级别** 124 125公开接口 126 127**变更原因** 128 129应用侧的某些实现场景需要Image组件支持异步加载pixelMap。 130 131**变更影响** 132 133该变更为非兼容性变更。 134 135syncLoad为Image组件的属性,用于设置是否同步加载图片。 136 137API version 12之前,无论开发者设置syncLoad为false或者true。Image组件加载PixelMap始终为同步加载,在主线程加载。 138 139API version 12之后,Image组件按照syncLoad来同步/异步加载PixelMap格式图片,若没有设置则按照syncLoad属性的默认值false进行异步加载。其中异步加载将在 **异步线程** 加载PixelMap格式图片,加载时会有“一闪”的现象。 140 141**API Level** 142 14312 144 145**变更发生版本** 146 147从OpenHarmony SDK 5.0.0.17 版本开始。 148 149**示例:** 150 151无 152 153**变更的接口/组件** 154 155Image组件 156 157**适配指导** 158 159若应用侧需要Image组件同步加载pixelmap,则需要设置syncLoad为true。 160