From 9b70a14869bee37e83cff8ece398fdd03b0ad626 Mon Sep 17 00:00:00 2001 From: luoying_ace Date: Thu, 27 Oct 2022 08:20:12 +0000 Subject: [PATCH] update zh-cn/application-dev/reference/arkui-ts/ts-container-alphabet-indexer.md. Signed-off-by: luoying_ace --- .../arkui-ts/ts-container-alphabet-indexer.md | 104 +++++++++++++++--- 1 file changed, 88 insertions(+), 16 deletions(-) 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 9d90b27886..e3b7fd92bb 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%') + } } } ``` -- GitLab