diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-container-alphabet-indexer.md b/zh-cn/application-dev/reference/arkui-ts/ts-container-alphabet-indexer.md
index 9d90b27886e63a7126717f3672fa77effbfe7e01..e3b7fd92bb40bc84425187c8c8d5f2ed08f38a45 100644
--- a/zh-cn/application-dev/reference/arkui-ts/ts-container-alphabet-indexer.md
+++ b/zh-cn/application-dev/reference/arkui-ts/ts-container-alphabet-indexer.md
@@ -56,7 +56,7 @@ AlphabetIndexer(value: {arrayValue: Array<string>, selected: number})
| 名称 | 功能描述 |
| -------- | -------- |
-| onSelected(callback: (index: number) => void)(deprecated) | 索引条选中回调,返回值为当前选中索引。 |
+| onSelected(callback: (index: number) => void)(deprecated) | 索引条选中回调,返回值为当前选中索引。 从API Version 7开始废弃,建议使用onSelect代替。 |
| onSelect(callback: (index: number) => void)8+ | 索引条选中回调,返回值为当前选中索引。 |
| onRequestPopupData(callback: (index: number) => Array<string>)8+ | 选中字母索引后,请求索引提示弹窗显示内容回调。
返回值:索引对应的字符串数组,此字符串数组在弹窗中竖排显示,字符串列表最多显示5个,超出部分可以滑动显示。 |
| onPopupSelect(callback: (index: number) => void)8+ | 字母索引提示弹窗字符串列表选中回调。 |
@@ -69,23 +69,95 @@ AlphabetIndexer(value: {arrayValue: Array<string>, selected: number})
@Entry
@Component
struct AlphabetIndexerSample {
- private value: string[] = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
+ private arrayA: string[] = ['安']
+ private arrayB: string[] = ['卜', '白', '包', '毕', '丙']
+ private arrayC: string[] = ['曹', '成', '陈', '催']
+ private arrayL: string[] = ['刘', '李', '楼', '梁', '雷', '吕', '柳', '卢']
+ private value: string[] = ['#', 'A', 'B', 'C', 'D', 'E', 'F', 'G',
+ 'H', 'I', 'J', 'K', 'L', 'M', 'N',
+ 'O', 'P', 'Q', 'R', 'S', 'T', 'U',
+ 'V', 'W', 'X', 'Y', 'Z']
build() {
- AlphabetIndexer({ arrayValue: this.value, selected: 0 })
- .selectedColor(0xffffff) // 选中颜色
- .popupColor(0xFFFAF0) // 弹出框颜色
- .selectedBackgroundColor(0xCCCCCC) // 选中背景颜色
- .popupBackground(0xD2B48C) // 弹出框背景颜色
- .usingPopup(true) // 是否显示弹出框
- .selectedFont({ size: 16, weight: FontWeight.Bolder }) // 选中的样式
- .popupFont({ size: 30, weight: FontWeight.Bolder }) // 弹出框的演示
- .itemSize(28) // 每一项的大小正方形
- .alignStyle(IndexerAlign.Left) // 左对齐
- .onSelect((index: number) => {
- console.info(this.value[index] + '被选中了') // 选中的事件
- })
- .margin({ left: 50 })
+ Stack({ alignContent: Alignment.Start }) {
+ Row() {
+ List({ space: 20, initialIndex: 0 }) {
+ ForEach(this.arrayA, (item) => {
+ ListItem() {
+ Text(item)
+ .width('80%')
+ .height('5%')
+ .fontSize(30)
+ .textAlign(TextAlign.Center)
+ }.editable(true)
+ }, item => item)
+
+ ForEach(this.arrayB, (item) => {
+ ListItem() {
+ Text(item)
+ .width('80%')
+ .height('5%')
+ .fontSize(30)
+ .textAlign(TextAlign.Center)
+ }.editable(true)
+ }, item => item)
+
+ ForEach(this.arrayC, (item) => {
+ ListItem() {
+ Text(item)
+ .width('80%')
+ .height('5%')
+ .fontSize(30)
+ .textAlign(TextAlign.Center)
+ }.editable(true)
+ }, item => item)
+
+ ForEach(this.arrayL, (item) => {
+ ListItem() {
+ Text(item)
+ .width('80%')
+ .height('5%')
+ .fontSize(30)
+ .textAlign(TextAlign.Center)
+ }.editable(true)
+ }, item => item)
+ }
+ .width('50%')
+ .height('100%')
+
+ AlphabetIndexer({ arrayValue: this.value, selected: 0 })
+ .selectedColor(0xFFFFFF) // 选中项文本颜色
+ .popupColor(0xFFFAF0) // 弹出框文本颜色
+ .selectedBackgroundColor(0xCCCCCC) // 选中项背景颜色
+ .popupBackground(0xD2B48C) // 弹出框背景颜色
+ .usingPopup(true) // 是否显示弹出框
+ .selectedFont({ size: 16, weight: FontWeight.Bolder }) // 选中项字体样式
+ .popupFont({ size: 30, weight: FontWeight.Bolder }) // 弹出框内容的字体样式
+ .itemSize(28) // 每一项的尺寸大小
+ .alignStyle(IndexerAlign.Left) // 弹出框在索引条左侧弹出
+ .onSelect((index: number) => {
+ console.info(this.value[index] + ' Selected!')
+ })
+ .onRequestPopupData((index: number) => {
+ if (this.value[index] == 'A') {
+ return this.arrayA // 当选中A时,弹出框里面的提示文本列表显示A对应的列表arrayA,选中B、C、L时也同样
+ } else if (this.value[index] == 'B') {
+ return this.arrayB
+ } else if (this.value[index] == 'C') {
+ return this.arrayC
+ } else if (this.value[index] == 'L') {
+ return this.arrayL
+ } else {
+ return [] // 选中其余子母项时,提示文本列表为空
+ }
+ })
+ .onPopupSelect((index: number) => {
+ console.info('onPopupSelected:' + index)
+ })
+ }
+ .width('100%')
+ .height('100%')
+ }
}
}
```