1# ArkUI子系统Changelog
2
3## cl.arkui.1 当使用自定义组件名和内置属性重名时编译报错变更
4
5**访问级别**
6
7公开接口
8
9**变更原因**
10
11当使用自定义组件名和内置属性重名时,编译会根据指定的白名单进行拦截报错,如果白名单中不存在,编译就拦截不到,导致编译转换后的产物出现问题。
12
13**变更影响**
14
15该变更为不兼容变更。
16
17举例说明,执行以下用例:
18
19```ts
20@Entry
21@Component
22struct enableAnalyzer {
23  build() {
24    Canvas()
25      .enableAnalyzer((true))
26  }
27}
28```
29
30变更前:
31不在白名单的内置组件属性与自定义组件重名时,编译没有拦截报错,导致运行时crash。
32
33变更后:
34在白名单的内置组件属性与自定义组件重名时,编译拦截报错。
35
36![arkui_pg1](figures/arkui_pg1.PNG)
37
38**起始API Level**
39
40API 10
41
42**变更发生版本**
43
44从OpenHarmony SDK 5.0.2.52开始。
45
46**变更的接口/组件**
47
48ArkUI 内置组件属性API。
49
50**适配指导**
51
52自定义组件名和内置组件属性重名时,编译报错,修改自定义组件名为其他非内置组件属性名即可解决。
53
54修改前:
55
56自定义组件enableAnalyzer和Canvas的enableAnalyzer重名。
57
58```ts
59@Entry
60@Component
61struct enableAnalyzer {
62  build() {
63    Canvas()
64      .enableAnalyzer()
65  }
66}
67```
68
69修改后:
70
71将自定义组件名改为任意不和内置组件重名的名称,如EnableAnalyzerComp。
72
73```ts
74@Entry
75@Component
76struct EnableAnalyzerComp {
77  build() {
78    Canvas()
79      .enableAnalyzer()
80  }
81}
82```