1# ArkUI子系统Changelog 2 3## cl.arkui.1 自定义组件struct装饰器校验信息优化 4 5**访问级别** 6 7公开接口 8 9**变更原因** 10 11之前的报错信息存在冗余,不易理解。 12 13**变更影响** 14 15该变更为兼容性变更。 16 17变更前: 18输出一个警告(WARN)和一个错误(ERROR)日志信息。 19``` 20WARN: ArkTS:WARN File: xx 21A struct should use decorator '@Component' or '@ComponentV2'. 22ERROR: ArkTS:ERROR File:xx 23'TestComponent()' does not meet UI component syntax. 24``` 25 26变更后: 27如果struct没有被(@Entry/@Preview/@ComponentV2/@Component/@CustomDialog/@Reusable)其中一个装饰器装饰,编译报错,只有一个错误(ERROR)日志信息。 28``` 29ERROR: ArkTS:ERROR File:xx 30Decorator '@Component', '@ComponentV2', or '@CustomDialog' is missing for struct 'TestComponent'. 31``` 32错误示例如下: 33```ts 34struct Child { 35 build() { 36 Column() { 37 Text("hello Child") 38 } 39 } 40} 41 42@Entry 43@Component 44struct Child { 45 build() { 46 Column() { 47 Child() 48 } 49 } 50} 51``` 52 53**起始API Level** 54 55不涉及API变更 56 57**变更发生版本** 58 59从OpenHarmony SDK 5.0.0.28开始。 60 61**适配指导** 62 63如果应用代码未发生变化,则不需要适配。 64## cl.arkui.2 增加方法装饰器的校验 65 66**访问级别** 67 68公开接口 69 70**变更原因** 71 72当开发者错误的使用多个方法装饰器装饰在同一个方法上时,会导致运行时异常,需要在编译阶段提前拦截。 73 74**变更影响** 75 76该变更为非兼容性变更。 77 78变更前: 79当不同的方法装饰器装饰在同一个方法时,编译无日志提示信息。 80 81变更后: 82当不同的方法装饰器装饰在同一个方法时,编译输出报错提示信息。 83``` 84ERROR: ArkTS:ERROR File:xx 85A function can only be decorated by one of the 'AnimatableExtend, Builder, Extend, Styles and Concurrent'. 86ERROR: ArkTS:ERROR File:xx 87The member property or method can not be decorated by multiple built-in decorators. 88``` 89 90错误示例如下: 91```ts 92@Builder 93@Styles 94function testFunc() { 95 Text("hello testFunc") 96} 97 98@Component 99struct TestComponent { 100 101 @Builder 102 @Styles 103 testMethod() { 104 Text("hello testMethod") 105 } 106 107 build() { 108 Column() { 109 Text("hello TestComponent") 110 } 111 } 112} 113``` 114 115变更前: 116当相同的内置方法装饰器(@AnimatableExtend/@Builder/@Extend/@Styles/@Concurrent)装饰在同一个方法时,编译无日志提示信息。 117 118变更后: 119当相同的内置方法装饰器(@AnimatableExtend/@Builder/@Extend/@Styles/@Concurrent)装饰在同一个方法时,编译输出警告日志提示信息。 120``` 121WARN: ArkTS:WARN File: xx 122Duplicate decorators for function are not allowed. 123``` 124 125错误示例如下: 126```ts 127@Builder 128@Builder 129function testFunc() { 130 Text("hello testFunc") 131} 132``` 133 134**起始API Level** 135 136不涉及API变更 137 138**变更发生版本** 139 140从OpenHarmony SDK 5.0.0.28开始。 141 142**适配指导** 143 144如果开发者不按规范使用对应范式,则需按日志提示信息进行修改。 145 146## cl.arkui.3 bindPopup在窗口失焦后不消失 147 148**访问级别** 149 150公开接口 151 152**变更原因** 153 154开发者不希望popup所在的窗口失去焦点后,popup会自动消失 155 156**变更影响** 157 158该变更为非兼容性变更。 159 160变更前: 161popup所在窗口失焦时,popup会自动消失。 162 163变更后: 164popup所在窗口失焦时,popup不会自动消失。 165 166 167**起始API Level** 168 169不涉及API变更 170 171**变更发生版本** 172 173从OpenHarmony SDK 5.0.0.28开始。 174 175**适配指导** 176 177气泡的关闭需要用户自行决定。如果出现之前版本某一操作后popup消失,现版本不消失的现象时,用户可以检查现象前后窗口焦点是否发生了变化,如果发生变化,现版本需要用户自行将isShow属性设置为false来关闭popup。 178 179## cl.arkui.4 TextInput/TextArea组件设置宽度为auto时,最小值为16vp 180 181**访问级别** 182 183公开接口 184 185**变更原因** 186 187TextInput/TextArea组件设置宽度为auto并且内容为空时,组件消失。 188 189**变更影响** 190 191该变更为兼容性变更。 192 193变更前: 194TextInput/TextArea组件设置宽度为auto并且内容为空时,组件消失。 195 196变更后: 197TextInput/TextArea组件设置宽度为auto并且内容为空时,组件最小宽度为16vp。 198 199**起始API Level** 200 201不涉及API变更 202 203**变更发生版本** 204 205从OpenHarmony SDK 5.0.0.28开始。 206 207**适配指导** 208 209默认行为变更,无需适配,但应注意变更后的行为是否对整体应用逻辑产生影响。 210 211## cl.arkui.5 TextInput/TextArea组件设置为内联模式时,最小值为16vp 212 213**访问级别** 214 215公开接口 216 217**变更原因** 218 219TextInput/TextArea组件设置为内联模式并且内容为空时,组件消失。 220 221**变更影响** 222 223该变更为兼容性变更。 224 225变更前: 226TextInput/TextArea组件设置为内联模式并且内容为空时,组件消失。 227 228变更后: 229TextInput/TextArea组件设置为内联模式并且内容为空时,组件最小宽度为16vp。 230 231**起始API Level** 232 233不涉及API变更 234 235**变更发生版本** 236 237从OpenHarmony SDK 5.0.0.28开始。 238 239**适配指导** 240 241默认行为变更,无需适配,但应注意变更后的行为是否对整体应用逻辑产生影响。 242 243## cl.arkui.6 TextInput/TextArea组件在2in1设备上通过双击弹出菜单时,点击全选,菜单消失 244 245**访问级别** 246 247公开接口 248 249**变更原因** 250 251TextInput/TextArea组件在2in1上通过双击弹出菜单时,点击全选,此时无需菜单弹出。 252 253**变更影响** 254 255该变更为兼容性变更。 256 257变更前: 258TextInput/TextArea组件在2in1上通过双击弹出菜单时,点击全选,此时菜单弹出。 259 260变更后: 261TextInput/TextArea组件在2in1上通过双击弹出菜单时,点击全选,此时菜单消失。 262 263**起始API Level** 264 265不涉及API变更 266 267**变更发生版本** 268 269从OpenHarmony SDK 5.0.0.28开始。 270 271**适配指导** 272 273默认行为变更,无需适配,但应注意变更后的行为是否对整体应用逻辑产生影响。 274 275## cl.arkui.7 Menu组件默认样式变更 276 277**访问级别** 278 279公开接口 280 281**变更原因** 282 283优化menu组件的视觉体验。 284 285**变更影响** 286 287该变更为非兼容性变更。 288 289**变更前:** 290 291 292 293菜单列表的左右padding默认为0 294 295菜单项文本字重默认为regular 296 297菜单组件圆角大小默认为16vp 298 299对于带标题的菜单列表,标题文本大小默认为16fp 300 301对于带标题的菜单列表,标题文本颜色默认为#89000000 302 303对于带标题的菜单列表,标题文本字重默认为normal 304 305**变更后:** 306 307 308 309菜单列表的左右padding默认为16vp 310 311菜单项文本字重默认为medium 312 313菜单组件圆角大小默认为20vp 314 315对于带标题的菜单列表,标题文本大小默认为18fp 316 317对于带标题的菜单列表,标题文本颜色默认为#FF000000 318 319对于带标题的菜单列表,标题文本字重默认为bold 320 321 322**起始API Level** 323 3249 325 326**变更发生版本** 327 328从OpenHarmony SDK 5.0.0.28开始。 329 330**适配指导** 331 332默认效果变更,无需适配,但应注意变更后的默认效果是否符合开发者预期,如不符合则应自定义修改效果控制变量以达到预期。 333 334## cl.arkui.8 chipGroup不设置items属性的异常处理 335 336**访问级别** 337 338公开接口 339 340**变更原因** 341 342chipGroup组件在使用过程中,对于必填属性items,不设置时DevEco Studio是否抛出异常。 343 344**变更影响** 345 346该变更为非兼容性变更。 347 348变更前:必填属性items,不设置时DevEco Studio不报错。 349 350变更后:必填属性items,不设置时DevEco Studio抛出异常告警。 351 352**起始API Level** 353 35412 355 356**变更发生版本** 357 358从OpenHarmony SDK 5.0.0.28开始。 359 360**适配指导** 361 362使用chipGroup组件时,如果不设置必填属性items,则需按日志提示信息进行修改。 363 364## cl.arkui.9 ListItem横滑跟手比变更 365 366**访问级别** 367 368公开接口 369 370**变更原因** 371 372ListItem横滑动态跟手比计算公式,需要与其他场景(例如:List拖动过界)的公式一致。 373 374**变更影响** 375 376该变更为不兼容变更。 377 378ListItem横滑动态跟手比按新实现后,手指滑动相同距离,组件滑动距离会变大。 379 380**起始API Level** 381 3829 383 384**变更发生版本** 385 386从OpenHarmony SDK 5.0.0.28开始。 387 388**适配指导** 389 390默认效果变更,无需适配。 391 392## cl.arkui.10 DrawableDescriptor显示效果 393 394**访问级别** 395 396公开接口 397 398**变更原因** 399 400对原来非标准288x288图标的裁切行为做统一变更,提高用户体验。 401 402**变更影响** 403 404该变更为不兼容性变更。 405 406对于非288x288尺寸前景图片,当前生成的分层图标按照缩放后裁剪显示,288x288尺寸前景图片保持原规格。 407 408**起始API Level** 409 41010 411 412**变更发生版本** 413 414从OpenHarmony SDK 5.0.0.28开始。 415 416**适配指导** 417 418默认效果变更:默认效果变更,无需适配,但应注意变更后的默认效果是否符合开发者预期,如不符合则应自定义修改效果控制变量以达到预期。 419