# ListItem > **NOTE**
> This component is supported since API version 7. Updates will be marked with a superscript to indicate their earliest API version. The **<ListItem>** component displays specific items in the list. Its width occupies the **<List>** component by default and must be used together with **<List>**. ## Required Permissions None ## Child Components This component can contain a single child component. ## APIs ListItem() ## Attributes | Name | Type | Default Value | Description | | -------- | -------- | -------- | -------- | | sticky | Sticky | Sticky.None | Sticky effect of the list item. For details, see **Sticky** enums. | | editable | boolean | false | Whether the list item is editable. A list item can be deleted in editing mode. | | selectable8+ | boolean | true | Whether the current **ListItem;** is selectable by the mouse.
**NOTE**
This attribute takes effect only when mouse frame selection is enabled for the parent **<List>** container. | - Sticky enums | Name | Description | | -------- | -------- | | None | No sticky. | | Normal | The list item is sticky. | ## Events | Name | Description | | -------- | -------- | | onSelect(callback: (isSelected: boolean) => any)8+ | Triggered when the selected state of the **<ListItem>** changes.
**isSelected**: Returns **true** if the **<ListItem>** is selected by the mouse; returns **false** otherwise. | ## Example ``` @Entry @Component struct ListItemExample { private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] @State editFlag: boolean = false build() { Column() { List({ space: 20, initialIndex: 0 }) { ListItem() { Text('sticky:Normal , click me edit list') .width('100%').height(40).fontSize(12).fontColor(0xFFFFFF) .textAlign(TextAlign.Center).backgroundColor(0x696969) .onClick(() => { this.editFlag = !this.editFlag }) }.sticky(Sticky.Normal) ForEach(this.arr, (item) => { ListItem() { Text('' + item) .width('100%').height(100).fontSize(16) .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF) }.editable(this.editFlag) }, item => item) } .editMode(true) .onItemDelete((index: number) => { console.info(this.arr[index - 1] + 'Delete') this.arr.splice(index - 1,1) this.editFlag = false return true }).width('90%') }.width('100%').height('100%').backgroundColor(0xDCDCDC).padding({ top: 5 }) } } ``` ![en-us_image_0000001257138339](figures/en-us_image_0000001257138339.gif)