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