1# 滚动组件通用接口 2 3滚动组件通用属性和事件目前只支持[List](ts-container-list.md)、[Grid](ts-container-grid.md)、[Scroll](ts-container-scroll.md)和[WaterFlow](ts-container-waterflow.md)组件。 4 5> **说明:** 6> 7> 本模块从API version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 8 9## 属性 10 11### scrollBar<sup>11+</sup> 12 13scrollBar(barState: BarState): T 14 15设置滚动条状态。 16 17**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 18 19**系统能力:** SystemCapability.ArkUI.ArkUI.Full 20 21**参数:** 22 23| 参数名 | 类型 | 必填 | 说明 | 24| -------- | ----------------------------------------- | ---- | -------------------------------------- | 25| barState | [BarState](ts-appendix-enums.md#barstate) | 是 | 滚动条状态。<br/>默认值:List、Grid、Scroll组件默认BarState.Auto,WaterFlow组件默认BarState.Off。 | 26 27### scrollBarColor<sup>11+</sup> 28 29scrollBarColor(color: Color | number | string): T 30 31设置滚动条的颜色。 32 33**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 34 35**系统能力:** SystemCapability.ArkUI.ArkUI.Full 36 37**参数:** 38 39| 参数名 | 类型 | 必填 | 说明 | 40| ------ | ------------------------------------------------------------ | ---- | -------------- | 41| color | string \| number \| [Color](ts-appendix-enums.md#color) | 是 | 滚动条的颜色。<br/>默认值:'\#182431'(40%不透明度)<br/>number为HEX格式颜色,支持rgb或者argb,示例:0xffffff。string为rgb或者argb格式颜色,示例:'#ffffff'。 | 42 43### scrollBarWidth<sup>11+</sup> 44 45scrollBarWidth(value: number | string): T 46 47设置滚动条的宽度,不支持百分比设置。宽度设置后,滚动条正常状态和按压状态宽度均为滚动条的宽度值。如果滚动条的宽度超过滚动组件主轴方向的高度,则滚动条的宽度会变为默认值。 48 49**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 50 51**系统能力:** SystemCapability.ArkUI.ArkUI.Full 52 53**参数:** 54 55| 参数名 | 类型 | 必填 | 说明 | 56| ------ | -------------------------- | ---- | ----------------------------------------- | 57| value | string \| number | 是 | 滚动条的宽度。<br/>默认值:4<br/>单位:vp <br/>取值范围:设置为小于0的值时,按默认值处理。设置为0时,不显示滚动条。 | 58 59### edgeEffect<sup>11+</sup> 60 61edgeEffect(edgeEffect: EdgeEffect, options?: EdgeEffectOptions): T 62 63设置边缘滑动效果。 64 65**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 66 67**系统能力:** SystemCapability.ArkUI.ArkUI.Full 68 69**参数:** 70 71| 参数名 | 类型 | 必填 | 说明 | 72| --------------------- | ------------------------------------------------- | ---- | ------------------------------------------------------------ | 73| edgeEffect | [EdgeEffect](ts-appendix-enums.md#edgeeffect) | 是 | 滚动组件的边缘滑动效果,支持弹簧效果和阴影效果。<br/>默认值:Grid、Scroll、WaterFlow组件默认EdgeEffect.None,List组件默认EdgeEffect.Spring。| 74| options | [EdgeEffectOptions](#edgeeffectoptions11对象说明) | 否 | 组件内容大小小于组件自身时,是否开启滑动效果。设置为{ alwaysEnabled: true }会开启滑动效果,{ alwaysEnabled: false }不开启。<br/>默认值:<br/>List、Grid、WaterFlow组件默认{ alwaysEnabled: false },Scroll组件默认{ alwaysEnabled: true }。| 75 76### nestedScroll<sup>11+</sup> 77 78nestedScroll(value: NestedScrollOptions): T 79 80设置前后两个方向的嵌套滚动模式,实现与父组件的滚动联动。 81 82**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 83 84**系统能力:** SystemCapability.ArkUI.ArkUI.Full 85 86**参数:** 87 88| 参数名 | 类型 | 必填 | 说明 | 89| ------ | ----------------------------------------------------- | ---- | -------------- | 90| value | [NestedScrollOptions](#nestedscrolloptions10对象说明) | 是 | 嵌套滚动选项。| 91 92### enableScrollInteraction<sup>11+</sup> 93 94enableScrollInteraction(value: boolean): T 95 96设置是否支持滚动手势。 97 98**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 99 100**系统能力:** SystemCapability.ArkUI.ArkUI.Full 101 102**参数:** 103 104| 参数名 | 类型 | 必填 | 说明 | 105| ------ | ------- | ---- | ----------------------------------- | 106| value | boolean | 是 | 是否支持滚动手势。设置为true时可以通过手指或者鼠标滚动,设置为false时无法通过手指或者鼠标滚动,但不影响控制器[Scroller](ts-container-scroll.md#scroller)的滚动接口。<br/>默认值:true | 107 108### friction<sup>11+</sup> 109 110friction(value: number | Resource): T 111 112设置摩擦系数,手动划动滚动区域时生效,仅影响惯性滚动过程,对惯性滚动过程中的链式效果有间接影响。设置为小于等于0的值时,按默认值处理。 113 114**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 115 116**系统能力:** SystemCapability.ArkUI.ArkUI.Full 117 118**参数:** 119 120| 参数名 | 类型 | 必填 | 说明 | 121| ------ | ---------------------------------------------------- | ---- | --------------------------------------------------------- | 122| value | number \| [Resource](ts-types.md#resource) | 是 | 摩擦系数。<br/>默认值:非wearable设备为0.6,wearable设备为0.9。<br/>从API version 11开始,非wearable设备默认值为0.7。<br/>从API version 12开始,非wearable设备默认值为0.75。 <br/>取值范围:(0, +∞),设置为小于等于0的值时,按默认值处理。| 123 124### flingSpeedLimit<sup>11+</sup> 125 126flingSpeedLimit(speedLimit: number): T 127 128限制跟手滑动结束后,Fling动效开始时的最大初始速度。 129 130**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 131 132**系统能力:** SystemCapability.ArkUI.ArkUI.Full 133 134**参数:** 135 136| 参数名 | 类型 | 必填 | 说明 | 137| ---------- | ------ | ---- | ------------------------------- | 138| speedLimit | number | 是 | Fling动效开始时的最大初始速度。<br/>默认值:9000<br/>单位:vp/s <br/>取值范围:(0, +∞),设置为小于等于0的值时,按默认值处理。| 139 140### fadingEdge<sup>14+</sup> 141 142fadingEdge(enabled: Optional<boolean>, options?: FadingEdgeOptions): T 143 144设置是否开启边缘渐隐效果及设置边缘渐隐长度。 145 146**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 147 148**系统能力:** SystemCapability.ArkUI.ArkUI.Full 149 150**参数:** 151 152| 参数名 | 类型 | 必填 | 说明 | 153| ------- | ------------------------------------------------- | ---- | ------------------------------------------------------------ | 154| enabled | Optional<boolean> | 是 | fadingEdge生效时,会覆盖原组件的.overlay()属性。<br/>fadingEdge生效时,建议不在该组件上设置background相关属性,会影响渐隐的显示效果。<br/>fadingEdge生效时,组件会裁剪到边界,设置组件的clip属性为false不生效。<br/>设置为true时开启边缘渐隐效果,设置为false时不开启边缘渐隐效果。<br/>默认值:false | 155| options | [FadingEdgeOptions](#fadingedgeoptions14对象说明) | 否 | 边缘渐隐参数对象。可以通过该对象定义边缘渐隐效果属性,比如设置渐隐长度。 | 156 157### clipContent<sup>14+</sup> 158 159clipContent(clip: ContentClipMode | RectShape): T 160 161设置滚动容器的内容层裁剪区域。 162 163**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 164 165**系统能力:** SystemCapability.ArkUI.ArkUI.Full 166 167**参数:** 168 169| 参数名 | 类型 | 必填 | 说明 | 170| ------- | ------------------------------------------------- | ---- | ------------------------------------------------------------ | 171| clip | [ContentClipMode](#contentclipmode14枚举说明) \| [RectShape](../js-apis-arkui-shape.md#rectshape) | 是 | 裁剪只针对滚动容器的内容,即其子节点,背景不受影响。通过RectShape传入自定义矩形区域时仅支持设置宽高和相对于组件左上角的[offset](../js-apis-arkui-shape.md#offset),不支持圆角。<br></div>默认值:Grid、Scroll的默认值为ContentClipMode.BOUNDARY,List、WaterFlow的默认值为ContentClipMode.CONTENT_ONLY。 | 172 173### backToTop<sup>15+</sup> 174 175backToTop(backToTop: boolean) 176 177设置滚动组件是否支持点击状态栏回到顶部。 178 179支持当前页面的滚动组件收到点击状态栏事件后,滚动回到顶部。点击状态栏后,后台应用的滚动组件不受影响,不做回到顶部的动作。本属性不受[enableScrollInteraction](#enablescrollinteraction11)设置的影响。 180 181**原子化服务API:** 从API version 15开始,该接口支持在原子化服务中使用。 182 183**系统能力:** SystemCapability.ArkUI.ArkUI.Full 184 185**参数:** 186 187| 参数名 | 类型 | 必填 | 说明 | 188| ------ | ------- | ---- | ---------------------------------------------- | 189| backToTop | boolean | 是 | 设置滚动组件是否支持点击状态栏回到顶部。设置为true支持点击状态栏回到顶部,设置为false不支持点击状态栏回到顶部。<br/>默认值:<br/>API version 18之前:false。 <br/>API version 18及以后:滚动方向是水平方向时为false,是垂直方向时为true。 | 190 191### digitalCrownSensitivity<sup>18+</sup> 192 193digitalCrownSensitivity(sensitivity: Optional\<CrownSensitivity>) 194 195设置表冠响应事件灵敏度。 196 197组件收到[表冠事件](ts-universal-events-crown.md)的前提是该组件获焦,焦点控制可以通过[focusable](ts-universal-attributes-focus.md#focusable)、[defaultFocus](ts-universal-attributes-focus.md#defaultfocus9)、[focusOnTouch](ts-universal-attributes-focus.md#focusontouch9)进行管理。 198 199**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。 200 201**系统能力:** SystemCapability.ArkUI.ArkUI.Full 202 203**参数:** 204 205| 参数名 | 类型 | 必填 | 说明 | 206| ----------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 207| sensitivity | [Optional<CrownSensitivity>](ts-appendix-enums.md#crownsensitivity18) | 是 | 表冠响应灵敏度。<br/>默认值:CrownSensitivity.MEDIUM,响应速度适中。 | 208 209 210## 事件 211 212### onReachStart<sup>11+</sup> 213 214onReachStart(event: () => void): T 215 216滚动组件到达起始位置时触发。 217 218滚动组件初始化时会触发一次,滚动到起始位置时触发一次。边缘效果为弹簧效果时,划动经过起始位置时触发一次,回弹回起始位置时再触发一次。 219 220**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 221 222**系统能力:** SystemCapability.ArkUI.ArkUI.Full 223 224### onReachEnd<sup>11+</sup> 225 226onReachEnd(event: () => void): T 227 228滚动组件到达末尾位置时触发。 229 230滚动组件边缘效果为弹簧效果时,划动经过末尾位置时触发一次,回弹回末尾位置时再触发一次。 231 232**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 233 234**系统能力:** SystemCapability.ArkUI.ArkUI.Full 235 236### onScrollStart<sup>11+</sup> 237 238onScrollStart(event: () => void): T 239 240滚动开始时触发。手指拖动滚动组件或拖动滚动组件的滚动条触发的滚动开始时,会触发该事件。使用[Scroller](ts-container-scroll.md#scroller)滚动控制器触发的带动画的滚动,动画开始时会触发该事件。 241 242触发该事件的条件: 243 2441、滚动组件开始滚动时触发,支持键鼠操作等其他触发滚动的输入设置。 245 2462、通过滚动控制器API接口调用后开始,带过渡动效。 247 248**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 249 250**系统能力:** SystemCapability.ArkUI.ArkUI.Full 251 252### onScrollStop<sup>11+</sup> 253 254onScrollStop(event: () => void): T 255 256滚动停止时触发。手拖动滚动组件或拖动滚动组件的滚动条触发的滚动,手离开屏幕并且滚动停止时会触发该事件。使用[Scroller](ts-container-scroll.md#scroller)滚动控制器触发的带动画的滚动,动画停止时会触发该事件。 257 258触发该事件的条件: 259 2601、滚动组件触发滚动后停止,支持键鼠操作等其他触发滚动的输入设置。 261 2622、通过滚动控制器API接口调用后开始,带过渡动效。 263 264**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 265 266**系统能力:** SystemCapability.ArkUI.ArkUI.Full 267 268### onWillScroll<sup>12+</sup> 269 270onWillScroll(handler: Optional<OnWillScrollCallback>): T 271 272滚动事件回调,滚动组件滚动前触发。 273 274回调当前帧将要滚动的偏移量和当前滚动状态和滚动操作来源,其中回调的偏移量为计算得到的将要滚动的偏移量值,并非最终实际滚动偏移。可以通过该回调返回值指定滚动组件将要滚动的偏移。 275 276**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 277 278**系统能力:** SystemCapability.ArkUI.ArkUI.Full 279 280**参数:** 281 282| 参数名 | 类型 | 必填 | 说明 | 283| ------ | ------ | ------ | ------| 284| handler | Optional<[OnWillScrollCallback](#onwillscrollcallback12)> | 是 | 滚动组件滑动前触发的回调。 | 285 286> **说明:** 287> 288> 调用ScrollEdge和不带动画的ScrollToIndex时,不触发onWillScroll。 289 290 291### onDidScroll<sup>12+</sup> 292 293onDidScroll(handler: OnScrollCallback): T 294 295滚动组件滑动时触发,返回当前帧滑动的偏移量和当前滑动状态。 296 297**卡片能力:** 从API version 12开始,该接口支持在ArkTS卡片中使用。 298 299**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 300 301**系统能力:** SystemCapability.ArkUI.ArkUI.Full 302 303**参数:** 304 305| 参数名 | 类型 | 必填 | 说明 | 306| ------ | ------ | ------ | ------| 307| handler | [OnScrollCallback](#onscrollcallback12) | 是 | 滚动组件滑动时触发的回调。 | 308 309### onScroll<sup>(deprecated)</sup> 310 311onScroll(event: (scrollOffset: number, scrollState: ScrollState) => void): T 312 313滚动组件滑动时触发。 314 315从API version11开始使用。 316 317从API version 12开始废弃不再使用,Scroll组件的onScroll事件在布局之前触发,建议使用[onWillScroll](#onwillscroll12)替代;List、Grid和WaterFlow组件的onScroll事件在布局之后触发,建议使用[onDidScroll](#ondidscroll12)替代。 318 319**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 320 321**系统能力:** SystemCapability.ArkUI.ArkUI.Full 322 323**参数:** 324 325| 参数名 | 类型 | 必填 | 说明 | 326| ------ | ------ | ------ | ------| 327| scrollOffset | number | 是 | 每帧滚动的偏移量,滚动组件的内容向上滚动时偏移量为正,向下滚动时偏移量为负。<br/>单位vp。 | 328| scrollState | [ScrollState](ts-container-list.md#scrollstate枚举说明) | 是 | 当前滑动状态。 | 329 330## ItemDragInfo对象说明 331 332拖拽点信息对象。 333 334**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 335 336**系统能力:** SystemCapability.ArkUI.ArkUI.Full 337 338| 名称 | 类型 | 描述 | 339| ---------- | ---------- | ---------- | 340| x | number | 当前拖拽点的x坐标,单位vp。 | 341| y | number | 当前拖拽点的y坐标,单位vp。 | 342 343## NestedScrollOptions<sup>10+</sup>对象说明 344 345[nestedScroll](#nestedscroll11)属性参数对象。 346 347**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 348 349**系统能力:** SystemCapability.ArkUI.ArkUI.Full 350 351| 名称 | 类型 | 必填 | 描述 | 352| ----- | ------ | ------ | ----------------- | 353| scrollForward | [NestedScrollMode](ts-appendix-enums.md#nestedscrollmode10) | 是 | 滚动组件往末尾端滚动时的嵌套滚动选项。 | 354| scrollBackward | [NestedScrollMode](ts-appendix-enums.md#nestedscrollmode10) | 是 | 滚动组件往起始端滚动时的嵌套滚动选项。 | 355 356## EdgeEffectOptions<sup>11+</sup>对象说明 357 358[edgeEffect](#edgeeffect11)属性参数对象。 359 360**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 361 362**系统能力:** SystemCapability.ArkUI.ArkUI.Full 363 364| 参数名 | 类型 | 必填 | 描述 | 365| ----- | ------| ------- | ----------------- | 366| alwaysEnabled | boolean | 是 | 组件内容大小小于组件自身时,设置是否开启滑动效果。设置为true开启滑动效果,设置为false关闭滑动效果。| 367| effectEdge<sup>18+</sup> | number | 否 | 设置边缘效果生效的边缘。<br/>如果设置[EffectEdge](#effectedge18枚举说明).START表示只有起始边生效。如果设置[EffectEdge](#effectedge18枚举说明).END表示只有末尾边生效。<br/>默认值为[EffectEdge](#effectedge18枚举说明).START \| [EffectEdge](#effectedge18枚举说明).END表示双边同时生效。当设置为其它异常值时,则默认双边同时生效。<br/>如果需要双边都不生效,可将edgeEffect设置为EdgeEffect.None。 | 368 369## FadingEdgeOptions<sup>14+</sup>对象说明 370 371[fadingEdge](#fadingedge14)属性边缘渐隐参数对象。 372 373**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 374 375**系统能力:** SystemCapability.ArkUI.ArkUI.Full 376 377| 参数名 | 类型 | 必填 | 描述 | 378| ---------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 379| fadingEdgeLength | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12) | 否 | 设置边缘渐隐长度。如果设置小于0的值则取默认值,默认长度为32vp。<br/>如果设置的长度超过容器高度的一半时,渐隐长度取容器高度的一半。 | 380 381## EffectEdge<sup>18+</sup>枚举说明 382 383表示当前边缘效果要生效的边缘。 384 385**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。 386 387**系统能力:** SystemCapability.ArkUI.ArkUI.Full 388 389| 名称 | 值 | 说明 | 390| ----- | ---- | ------------ | 391| START | 1 | 起始边生效。 | 392| END | 2 | 末尾边生效。 | 393 394## ContentClipMode<sup>14+</sup>枚举说明 395 396表示滚动容器的内容裁剪模式。 397 398**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 399 400**系统能力:** SystemCapability.ArkUI.ArkUI.Full 401 402下图是组件配置了边距属性后的示意图,可理解每种枚举对应的裁剪区域。 403 404 405 406| 名称 | 值 | 说明 | 407| ------ | ------ | ---------------------------------------- | 408| CONTENT_ONLY | 0 | 按内容区裁剪,对应图中的绿色区域。 | 409| BOUNDARY | 1 | 按组件区域裁剪,对应图中的整个蓝色区域。 | 410| SAFE_AREA | 2 | 按组件配置的SafeArea区域裁剪,对应图中的整个黄色区域。 | 411 412## OnWillScrollCallback<sup>12+</sup> 413 414type OnWillScrollCallback = (scrollOffset: number, scrollState: ScrollState, scrollSource: ScrollSource) => void | ScrollResult 415 416滚动组件滑动前触发的回调。 417 418**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 419 420**系统能力:** SystemCapability.ArkUI.ArkUI.Full 421 422**参数:** 423 424| 参数名 | 类型 | 必填 | 说明 | 425| ------ | ------ | ------ | ------| 426| scrollOffset | number | 是 | 每帧滑动的偏移量,滚动组件的内容向上滚动时偏移量为正,向下滚动时偏移量为负。<br/>单位vp。 | 427| scrollState | [ScrollState](ts-container-list.md#scrollstate枚举说明) | 是 | 当前滑动状态。 | 428| scrollSource | [ScrollSource](ts-appendix-enums.md#scrollsource12) | 是 | 当前滑动操作的来源。 | 429 430**返回值:** 431 432| 类型 | 说明 | 433| ----------------------------- | ------------------------------------ | 434| void \| [ScrollResult](#scrollresult12对象说明) | 返回ScrollResult时按照开发者指定的偏移量滑动;不返回时按回调参数scrollOffset滑动。 <br/>取值范围:(-∞, +∞)| 435 436## OnScrollCallback<sup>12+</sup> 437 438type OnScrollCallback = (scrollOffset: number, scrollState: ScrollState) => void 439 440滚动组件滑动时触发的回调。 441 442**卡片能力:** 从API version 12开始,该接口支持在ArkTS卡片中使用。 443 444**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 445 446**系统能力:** SystemCapability.ArkUI.ArkUI.Full 447 448| 参数名 | 类型 | 必填 | 说明 | 449| ------ | ------ | ------ | ------| 450| scrollOffset | number | 是 | 每帧滚动的偏移量,滚动组件的内容向上滚动时偏移量为正,向下滚动时偏移量为负。<br/>单位vp。 | 451| scrollState | [ScrollState](ts-container-list.md#scrollstate枚举说明) | 是 | 当前滑动状态。 | 452 453## ScrollResult<sup>12+</sup>对象说明 454 455[OnWillScrollCallback](#onwillscrollcallback12)返回值对象。 456 457**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 458 459**系统能力:** SystemCapability.ArkUI.ArkUI.Full 460 461| 参数名 | 类型 | 必填 | 说明 | 462| ------ | ------ | ------ | ------| 463| offsetRemain | number | 是 | 将要滑动偏移量,单位vp。 | 464 465## ChildrenMainSize<sup>12+</sup>对象说明 466 467维护List组件或ListItemGroup组件的子组件在主轴方向的大小信息,仅支持一对一绑定到List组件或ListItemGroup组件。 468 469**说明:** 470> 471> - 提供的主轴方向大小信息必须与子组件实际在主轴方向的大小一致,子组件在主轴方向大小变化或者增删子组件时都必须通过ChildrenMainSize对象方法通知List组件或ListItemGroup组件。 472 473**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 474 475**系统能力:** SystemCapability.ArkUI.ArkUI.Full 476 477### constructor<sup>12+</sup> 478 479constructor(childDefaultSize: number): void 480 481ChildrenMainSize有参构造函数。 482 483**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 484 485**系统能力:** SystemCapability.ArkUI.ArkUI.Full 486 487**参数:** 488 489| 名称 | 类型 | 必填 | 描述 | 490| ---- | ----------------------------- | ---- | -------------------- | 491| childDefaultSize | number | 是 | 子组件在主轴方向的默认大小。<br/>单位:vp<br/>**说明:** <br/>必须是有限的非负数值,否则抛出异常。| 492 493 494### childDefaultSize<sup>12+</sup> 495 496set childDefaultSize(value: number): void 497 498修改子组件在主轴方向的默认大小。 499 500**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 501 502**系统能力:** SystemCapability.ArkUI.ArkUI.Full 503 504**参数:** 505 506| 名称 | 类型 | 必填 | 描述 | 507| ---- | ----------------------------- | ---- | -------------------- | 508| value | number | 是 | 子组件在主轴方向的默认大小。<br/>单位:vp<br/>**说明:** <br/>必须是有限的非负数值,否则抛出异常。| 509 510**错误码**: 511 512以下错误码详细介绍请参考[通用错误码](../../errorcode-universal.md)。 513 514| 错误码ID | 错误信息 | 515| ------- | -------- | 516| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3. Parameter verification failed. | 517 518get childDefaultSize(): number 519 520获取子组件在主轴方向的默认大小。 521 522**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 523 524**系统能力:** SystemCapability.ArkUI.ArkUI.Full 525 526**返回值:** 527 528| 类型 | 说明 | 529| ------------------------------------------------------------ | ------------------------------------------------------------ | 530| number | 子组件在主轴方向的默认大小。<br/>单位:vp <br/>取值范围:[0, +∞)| 531 532### splice<sup>12+</sup> 533 534splice(start: number, deleteCount?: number, childrenSize?: Array\<number>): void 535 536批量增删改子组件在主轴方向的大小信息。 537 538**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 539 540**系统能力:** SystemCapability.ArkUI.ArkUI.Full 541 542**参数:** 543 544| 名称 | 类型 | 必填 | 描述 | 545| ---- | ----------------------------- | ---- | -------------------- | 546| start | number | 是 | 从0开始计算的索引值,表示要开始修改子组件在主轴方向大小信息的位置。<br/>**说明:** <br/>1. 必须是有限的非负数值,否则抛出异常。<br/>2. 非整数会被截断为整数。<br/>3. 超过最大索引值不生效。<br/>取值范围:[0, +∞) | 547| deleteCount | number | 否 | 从start开始删除的大小信息的数量。<br/>**说明:** <br/>1. 必须是有限的非负数值,否则处理为0。<br/>2. 非整数会被截断为整数。<br/>3. start + deleteCount - 1可以超过最大索引值,会删除索引值start开始之后的所有子组件的大小信息。<br/>默认值为+∞。 <br/>取值范围:[0, +∞) | 548| childrenSize | Array\<number > | 否 | 要在start位置插入的所有子组件的主轴方向的大小。<br/>Array中各个数值单位:vp <br/>**说明:** <br/>1.数组中数值如果是有限的非负值,则认为是指定的大小,后续不随默认大小的变化而变化。<br/>2. 数组中数值如果不是有限的非负值,会被处理成默认大小,后续会随默认大小的变化而变化。<br/>默认值为空数组。 <br/>取值范围:[0, +∞) | 549 550 551**错误码**: 552 553以下错误码详细介绍请参考[通用错误码](../../errorcode-universal.md)。 554 555| 错误码ID | 错误信息 | 556| ------- | -------- | 557| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3. Parameter verification failed. | 558 559 560> **说明:** 561> 562> - 如果仅使用start参数,表示删除索引值start及之后的子组件的大小信息。 563> - 如果仅使用start和deleteCount参数,表示删除索引值start开始的deleteCount数量的子组件的大小信息。一般在删除子组件时使用。 564> - 如果使用3个参数,表示删除索引值start开始的deleteCount数量的子组件的大小信息,再在start位置插入childrenSize中所有的大小信息。一般在增加子组件或者批量更新子组件主轴方向大小的时候使用,如果仅是增加子组件,deleteCount为0,childrenSize的元素数量和增加子组件的个数应该相等;如果仅是批量更新子组件主轴方向的大小,childrenSize的元素数量应该和deleteCount相等,即为批量更新的数量。 565> - 如果想要通知某个子组件的大小为默认大小,childrenSize中对应的值不应该给一个有限的非负值,而应该给NaN,任意负值等能被处理成默认大小的值。 566 567### update<sup>12+</sup> 568 569update(index: number, childSize: number): void 570 571修改指定索引值对应的子组件的主轴方向的大小信息。 572 573**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 574 575**系统能力:** SystemCapability.ArkUI.ArkUI.Full 576 577**参数:** 578 579| 名称 | 类型 | 必填 | 描述 | 580| ---- | ----------------------------- | ---- | -------------------- | 581| index | number | 是 | 从0开始计算的索引值,表示要开始修改子组件在主轴方向大小信息的位置。<br/>**说明:** <br/>1. 必须是有限的非负数值,否则抛出异常。<br/>2. 非整数会被截断为整数。<br/>3. 超过最大索引值不生效。 <br/>取值范围:[0, +∞)| 582| childSize | number | 是 | 要更新成的大小。<br/>单位:vp <br/>**说明:** <br/>1.数值如果是有限的非负值,则认为是指定的大小,后续不随默认大小的变化而变化。<br/>2. 数值如果不是有限的非负值,会被处理成默认大小,后续会随默认大小的变化而变化。 <br/>取值范围:[0, +∞)| 583 584**错误码**: 585 586以下错误码详细介绍请参考[通用错误码](../../errorcode-universal.md)。 587 588| 错误码ID | 错误信息 | 589| ------- | -------- | 590| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3. Parameter verification failed. | 591