# 扩展数据字典
字典的作用主要是为应用开发过程中提供枚举数据。例如:数据库表里面存储的 gender 字段,它的值是 F/M/U , 为了在页面上表达出 男/女/未知 ,我们可以通过字典进行显示转换。部分组件在绑定数据的时候,支持直接使用字典作为数据源。
# 创建字典
创建字典的方式有两种,一种是通过后端编写,另外一种是通过IDE可视化创建。
# 后端编写字典
在 api 工程里面创建 Gender.java
import fly.core.meta.annotation.Title;
import fly.lang.Valued;
@Title("性别")
public enum Gender implements Valued<String> {
@Title("男")
MALE("M"),
@Title("女")
FEMALE("F"),
@Title("未知")
UNKNOWN("U");
private final String value;
private Gender(String value) {
this.value = value;
}
public String getValue() {
return this.value;
}
}

# IDE创建字典
通过【字典】模块可视化创建, 生成的数据会保存到 app/dicts/ 目录。

# 使用字典
# 组件中使用字典
支持在复杂列表,多选框组,单选框组,下拉选择等组件中使用数据字典。举个例子,在下拉选择组件中使用:

# 表达式使用字典
- 获取指定字典的字典项文本
utils.optionSet.getTitleByValue('Gender','F')
- 获取指定字典的字典项列表
utils.optionSet.find('Gender').items
- 获取指定字典的字典项详情
utils.optionSet.findItem('Gender','F')