1e41f4b71Sopenharmony_ci# ArkUI Subsystem Changelog
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci## cl.arkui.1 Change of the ScrollState Enum Rules
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ciThe table lists the rules for the **ScrollState** enums in API version 9 and earlier versions:
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ci| Name    | Description                            |
8e41f4b71Sopenharmony_ci| ------ | ------------------------------ |
9e41f4b71Sopenharmony_ci| Idle   | Idle. The list enters this state when an API in the controller is used to scroll the list or when the scrollbar is dragged. |
10e41f4b71Sopenharmony_ci| Scroll | Scrolling. The list enters this state when the user drags the list to scroll.       |
11e41f4b71Sopenharmony_ci| Fling  | Inertial scrolling. The list enters this state when inertial scrolling occurs or when the list bounces back after being released from a fling.|
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ciThe table lists the rules for the **ScrollState** enums in API version 10 and later versions:
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci| Name    | Description                            |
16e41f4b71Sopenharmony_ci| ------ | ------------------------------ |
17e41f4b71Sopenharmony_ci| Idle   | Idle. The list enters this state when it is not scrolling or an API in the controller that does not apply an animation is called. |
18e41f4b71Sopenharmony_ci| Scroll | Scrolling. The list enters this state when the user drags the list, scrollbar, or mouse wheel to scroll the list.       |
19e41f4b71Sopenharmony_ci| Fling  | Inertial scrolling. The list enters this state when: inertial scrolling occurs after a fling; the list bounces back after being released from a fling; inertial scrolling occurs after quick dragging of the built-in scrollbar; scrolling occurs after an API in the controller that applies an animation is called.|
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ciThe table below lists the changes in the **ScrollState** enums.
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci| Scenario    | API Version 9 and Earlier                        |API Version 10 and Later                          |
24e41f4b71Sopenharmony_ci| ------ | ------------------------------ |------------------------------ |
25e41f4b71Sopenharmony_ci| Finger dragging  | Scroll | Scroll |
26e41f4b71Sopenharmony_ci| Inertial scrolling  | Fling | Fling |
27e41f4b71Sopenharmony_ci| Cross-boundary bouncing  | Fling | Fling |
28e41f4b71Sopenharmony_ci| Scrolling by mouse wheel  | Idle | Scroll |
29e41f4b71Sopenharmony_ci| Scrollbar dragging  | Idle | Scroll |
30e41f4b71Sopenharmony_ci| Scrolling by the scrolling controller (with animation)  | Idle | Fling |
31e41f4b71Sopenharmony_ci| Scrolling by the scrolling controller (without animation)  | Idle | Idle |
32e41f4b71Sopenharmony_ci
33e41f4b71Sopenharmony_ci**Change Impact**
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_ci1. **ScrollState** is available since API version 7. The change is introduced in API version 10 and does not affect the use in API version 9 and earlier versions.
36e41f4b71Sopenharmony_ci2. Since API version 10, the use of **ScrollState** is affected in the **onScroll** event of the **\<List>** component.
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci**Key API/Component Changes**
39e41f4b71Sopenharmony_ci
40e41f4b71Sopenharmony_ci
41e41f4b71Sopenharmony_ci- [List Events](../../../application-dev/reference/arkui-ts/ts-container-list.md#events)
42e41f4b71Sopenharmony_ci- [ScrollState](../../../application-dev/reference/arkui-ts/ts-container-list.md#scrollstate)
43e41f4b71Sopenharmony_ci
44e41f4b71Sopenharmony_ci**Adaptation Guide**
45e41f4b71Sopenharmony_ci
46e41f4b71Sopenharmony_ciWhen the **\<List>** component is bound to the **onScroll** event and reports the scrolling status through the event, it must comply with the new rules since API version 10.
47e41f4b71Sopenharmony_ci
48e41f4b71Sopenharmony_ciThe code snippet is as follows:
49e41f4b71Sopenharmony_ci```ts
50e41f4b71Sopenharmony_ci// xxx.ets
51e41f4b71Sopenharmony_ci@Entry
52e41f4b71Sopenharmony_ci@Component
53e41f4b71Sopenharmony_cistruct ListExample {
54e41f4b71Sopenharmony_ci  private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
55e41f4b71Sopenharmony_ci
56e41f4b71Sopenharmony_ci  build() {
57e41f4b71Sopenharmony_ci    Column() {
58e41f4b71Sopenharmony_ci      List({ space: 20, initialIndex: 0 }) {
59e41f4b71Sopenharmony_ci        ForEach(this.arr, (item) => {
60e41f4b71Sopenharmony_ci          ListItem() {
61e41f4b71Sopenharmony_ci            Text('' + item)
62e41f4b71Sopenharmony_ci              .width('100%').height(100).fontSize(16)
63e41f4b71Sopenharmony_ci              .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF)
64e41f4b71Sopenharmony_ci          }
65e41f4b71Sopenharmony_ci        }, item => item)
66e41f4b71Sopenharmony_ci      }
67e41f4b71Sopenharmony_ci      .listDirection(Axis.Vertical) // Arrangement direction
68e41f4b71Sopenharmony_ci      .edgeEffect(EdgeEffect.Spring) // Set the edge scrolling effect to Spring.
69e41f4b71Sopenharmony_ci      .onScroll((scrollOffset: number, scrollState: ScrollState) => {
70e41f4b71Sopenharmony_ci        console.log(`onScroll scrollState = ${ScrollState[scrollState]}, scrollOffset = ${[scrollOffset]}`)
71e41f4b71Sopenharmony_ci      })
72e41f4b71Sopenharmony_ci      .width('90%')
73e41f4b71Sopenharmony_ci    }
74e41f4b71Sopenharmony_ci    .width('100%')
75e41f4b71Sopenharmony_ci    .height('100%')
76e41f4b71Sopenharmony_ci    .backgroundColor(0xDCDCDC)
77e41f4b71Sopenharmony_ci    .padding({ top: 5 })
78e41f4b71Sopenharmony_ci  }
79e41f4b71Sopenharmony_ci}
80e41f4b71Sopenharmony_ci```
81e41f4b71Sopenharmony_ci
82e41f4b71Sopenharmony_ci## cl.arkui.2 Change of Use Case Restrictions of ArkUI Built-in Components
83e41f4b71Sopenharmony_ci
84e41f4b71Sopenharmony_ciRestricted the use of ArkUI built-in components to the build methods of structs, **pageTransition** method, or @Builder decorated functions.
85e41f4b71Sopenharmony_ci
86e41f4b71Sopenharmony_ci**Example**
87e41f4b71Sopenharmony_ci
88e41f4b71Sopenharmony_ci```
89e41f4b71Sopenharmony_ci@Entry
90e41f4b71Sopenharmony_ci@Component
91e41f4b71Sopenharmony_cistruct Index {
92e41f4b71Sopenharmony_ci  build() {
93e41f4b71Sopenharmony_ci    Row() {
94e41f4b71Sopenharmony_ci    }
95e41f4b71Sopenharmony_ci
96e41f4b71Sopenharmony_ci  }
97e41f4b71Sopenharmony_ci}
98e41f4b71Sopenharmony_ci// ERROR:UI component 'Text' cannot be used in this place.
99e41f4b71Sopenharmony_ciText('Hello World')
100e41f4b71Sopenharmony_ci```
101e41f4b71Sopenharmony_ci
102e41f4b71Sopenharmony_ci**Change Impact**
103e41f4b71Sopenharmony_ci
104e41f4b71Sopenharmony_ci A build error will occur if a built-in component is not used in a build method of a struct, **pageTransition** method, or any @Builder decorated function.
105e41f4b71Sopenharmony_ci
106e41f4b71Sopenharmony_ci**Key API/Component Changes**
107e41f4b71Sopenharmony_ci
108e41f4b71Sopenharmony_ciN/A
109e41f4b71Sopenharmony_ci
110e41f4b71Sopenharmony_ci**Adaptation Guide**
111e41f4b71Sopenharmony_ci
112e41f4b71Sopenharmony_ciUse ArkUI built-in components only in build methods of structs, **pageTransition** methods, and @Builder decorated functions.
113e41f4b71Sopenharmony_ci
114e41f4b71Sopenharmony_ci## cl.arkui.3 \<RowSplit> and \<ColumnSplit> Component Layout and Behavior Changes
115e41f4b71Sopenharmony_ci
116e41f4b71Sopenharmony_ci1. Changed the default size of the **\<RowSplit>** or **\<ColumnSplit>** component on the cross axis from adapting to the parent component size to adapting to the child component size. 
117e41f4b71Sopenharmony_ci
118e41f4b71Sopenharmony_ci2. Changed how the child components behave when the**\<RowSplit>** or **\<ColumnSplit>** component's divider is dragged:
119e41f4b71Sopenharmony_ci
120e41f4b71Sopenharmony_ci  - Before the change, the child components are translated without being compressed or stretched.
121e41f4b71Sopenharmony_ci
122e41f4b71Sopenharmony_ci  - After the change, the child components are compressed and stretched. 
123e41f4b71Sopenharmony_ci
124e41f4b71Sopenharmony_ci3. Changed the clipping area of child components for when the **clip** attribute is used to clip the child component content that exceeds the component area: 
125e41f4b71Sopenharmony_ci    
126e41f4b71Sopenharmony_ci    - For **\<RowSplit>**, the clipping area is changed from the right side to both the left and right sides of the child component area.
127e41f4b71Sopenharmony_ci    
128e41f4b71Sopenharmony_ci    - For **\<ColumnSplit>**, the clipping area is changed from the bottom to both the top and bottom of the child component area.
129e41f4b71Sopenharmony_ci
130e41f4b71Sopenharmony_ci**Change Impact** 
131e41f4b71Sopenharmony_ciThe preceding changes affect the **\<RowSplit>** and **\<ColumnSplit>** components in API version 10 and later versions.
132e41f4b71Sopenharmony_ci
133e41f4b71Sopenharmony_ci**Key API/Component Changes**
134e41f4b71Sopenharmony_ci
135e41f4b71Sopenharmony_ciN/A
136e41f4b71Sopenharmony_ci
137e41f4b71Sopenharmony_ci## cl.arkui.4 Changes in Layout and Behavior of \<Search>, \<TextInput>, and \<TextArea> Components
138e41f4b71Sopenharmony_ci
139e41f4b71Sopenharmony_ci1. Changed the position of the edited text area in the **\<Search>**, **\<TextInput>**, and \**<TextArea>** components from moving by the distance specified by **padding** to moving by the distance specified by **padding** and **border**. 
140e41f4b71Sopenharmony_ci2. Changed the width of the text field in the **\<Search>** component from the component width minus the width and the left and right margins of the search icon, to the component width minus the width of the paddings and borders as well as the width and the left and right margins of the search icon.
141e41f4b71Sopenharmony_ci
142e41f4b71Sopenharmony_ci**Change Impact**
143e41f4b71Sopenharmony_ci
144e41f4b71Sopenharmony_ciThe change affects only applications of API version 10 and later versions.
145e41f4b71Sopenharmony_ci
146e41f4b71Sopenharmony_ci**Key API/Component Changes**
147e41f4b71Sopenharmony_ci
148e41f4b71Sopenharmony_ciN/A
149e41f4b71Sopenharmony_ci
150e41f4b71Sopenharmony_ci**Adaptation Guide**
151e41f4b71Sopenharmony_ci
152e41f4b71Sopenharmony_ciN/A
153