# list-item-group > **NOTE** > > This component is supported since API version 4. Updates will be marked with a superscript to indicate their earliest API version. **\** is a child component of **[\](../arkui-js/js-components-container-list.md)** and is used to group items in a list. By default, the width of **\** is equal to that of **\**. - To use this component, you must set the **columns** attribute of the parent component **\** to **1**. Otherwise, this component is not displayed. - You can customize the width of each **\**. However, if you retain the default value **stretch** of **align-items** for the parent component **\**, the width of **\** is equal to that of **\**. To make the customized **\** width take effect, set **align-items** to other values rather than **stretch**. ## Required Permissions None ## Child Components Only the [\](../arkui-js/js-components-container-list-item.md) child component is supported. ## Attributes In addition to the [universal attributes](../arkui-js/js-components-common-attributes.md), the following attributes are supported. | Name | Type | Default Value | Mandatory | Description | | ---- | ------ | ------- | ---- | ---------------------------------------- | | type | string | default | No | Type of the list item group. A list supports multiple list item group types. The same type of list item groups must have the same view layout after being rendered. If the type is fixed, replace the **if** attribute with the **show** attribute to ensure that the view layout remains unchanged.| > **NOTE** > > **id** in the universal attributes is used to identify a group. The input parameters of related functions and event information in the list also use **id** to uniquely identify a group. ## Styles In addition to the [universal styles](../arkui-js/js-components-common-styles.md), the following styles are supported. | Name | Type | Default Value | Mandatory | Description | | --------------- | ------ | ---------- | ---- | ---------------------------------------- | | flex-direction | string | row | No | Main axis direction of the flex container, which defines how items are placed in the container. Available values are as follows:
- **column**: Items are placed vertically from top to bottom.
- **row**: Items are placed horizontally from left to right.| | justify-content | string | flex-start | No | How items are aligned along the main axis of the flex container. Available values are as follows:
- **flex-start**: Items are packed toward the start edge of the container along the main axis.
- **flex-end**: Items are packed toward the end edge of the container along the main axis.
- **center**: Items are packed toward the center of the container along the main axis.
- **space-between**: Items are positioned with space between the rows.
- **space-around**: Items are positioned with space before, between, and after the rows.
- **space-evenly**5+: Items are distributed within the container along the main axis, with even space between each two.| ## Events In addition to the [universal events](../arkui-js/js-components-common-events.md), the following events are supported. | Name | Name | Description | | ------------- | ---------------------------------- | ---------------------------------------- | | groupclick | { groupid: string } | Triggered when a group is clicked.
**groupid**: ID of the group that is clicked. | | groupcollapse | { groupid: string } | Triggered when a group is collapsed.
**groupid**: ID of the group that is collapsed.
If the parameter is not carried or **groupid** is left empty, all groups are collapsed.| | groupexpand | { groupid: string } | Triggered when a group is expanded.
**groupid**: ID of the group that is expanded.
If the parameter is not carried or **groupid** is left empty, all groups are expanded.| ## Methods The [universal methods](../arkui-js/js-components-common-methods.md) are supported. ## Example ```html
One---{{listgroup.value}}
Primary---{{listgroup.value}}
``` ```css /* xxx.css */ .doc-page { flex-direction: column; } .top-list-item { width:100%; background-color:#D4F2E7; } .item-div { flex-direction:column; align-items:center; justify-content:space-around; height:240px; } .item-child { width:100%; height:60px; justify-content:space-around; align-items:center; } .item-group-child { justify-content: center; align-items: center; width:100%; } ``` ```js // xxx.js import prompt from '@system.prompt'; export default { data: { direction: 'column', list: [], listAdd: [] }, onInit() { this.list = [] this.listAdd = [] for (var i = 1; i <= 3; i++) { var dataItem = { value: 'GROUP' + i, }; this.list.push(dataItem); } }, collapseOne(e) { this.$element('mylist').collapseGroup({ groupid: 'GROUP1' }) }, expandOne(e) { this.$element('mylist').expandGroup({ groupid: 'GROUP1' }) }, collapseAll(e) { this.$element('mylist').collapseGroup() }, expandAll(e) { this.$element('mylist').expandGroup() }, collapse(e) { prompt.showToast({ message: 'Close ' + e.groupid }) }, expand(e) { prompt.showToast({ message: 'Open ' + e.groupid }) } } ``` ![list6](figures/list6.gif)