• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 创建索引
2
3## 使用场景
4
5当列表选项过多时,用户需要滑动窗口查找目标选项。为了提高查找效率,可以使用创建索引的方法。创建索引方式实质是打标签。例如,在联系人页面右侧通常会有“ABCD”的英文标记与联系人姓名首字母对应。若需寻找王同学,点击“W”可直接跳转到目标项范围。诸如“ABCD”的英文标记称为索引,通过创建索引的方式快速让窗口滑动到相应范围,找到目标选项。
6
7## 开发步骤
8
9接口具体使用方法和说明请参考[IndexUtil](../reference/apis-localization-kit/js-apis-i18n.md#indexutil8)的API文档。
10
111. 导入模块。
12   ```ts
13   import { i18n } from '@kit.LocalizationKit';
14   ```
15
162. 创建对象。
17   ```ts
18   let indexUtil: i18n.IndexUtil = i18n.getInstance(locale?: string); // locale为表示区域ID的字符串,默认值是系统当前区域ID
19   ```
20
213. 获取索引列表。
22   ```ts
23   let indexList: Array<string> = indexUtil.getIndexList();
24   ```
25
264. 获取索引。
27   ```ts
28   let index: string = indexUtil.getIndex(text: string);
29   ```
30
31**开发实例**
32
33```ts
34// 导入模块
35import { i18n } from '@kit.LocalizationKit';
36
37// 创建索引
38let indexUtil: i18n.IndexUtil = i18n.getInstance('zh-CN');
39let indexList: Array<string> = indexUtil.getIndexList(); // indexList = ['…', 'A', 'B', 'C', ... 'X', 'Y', 'Z', '…']
40
41// 多语言index混排
42indexUtil.addLocale('ru-RU');
43// indexList = ['…', 'A', 'B', 'C', ... 'X', 'Y', 'Z', '…', 'А', 'Б', 'В', ... 'Э', 'Ю', 'Я', '…']
44indexList = indexUtil.getIndexList();
45
46// 获取字符串的索引值
47let index: string = indexUtil.getIndex('你好'); // index = 'N'
48```
49