获取器的作用是对模型实例的(原始)数据做出自动处理。一个获取器对应模型的一个特殊方法(该方法必须为public类型),方法命名规范为:
getFieldNameAttr
FieldName为数据Key的驼峰转换,定义了获取器之后会在下列情况自动触发:
- 验证器读取数据
获取器的场景包括:
- 时间日期字段的格式化;
- 集合或枚举类型;
- 数字状态字段;
- 组合字段;
# 使用获取器
例如,我们需要对状态值进行转换,可以使用:
class TestGetter extends BaseGetter{
getStatusAttr(value){
if (value === '正常'){
return 0;
}
return 1;
}
}
获取器方法的第二个参数传入的是当前的所有数据数组。
# 动态扩展获取器方法
支持对获取器动态扩展方法,无需在获取器类中定义
const getter = new TestGetter();
getter.extend('getStatusAttr',function(value) {
if (value === '正常'){
return 0;
}
return 1;
})
# 动态获取器
可以支持对验证器的方法getGetter
获取一个默认的获取器,然后进行扩展,无需单独实例化一个获取器,此方法得到的获取器无需注册
const v = new Validate();
const getter = v.getGetter()
getter.extend('getStatusAttr',function(value) {
if (value === '正常'){
return 0;
}
return 1;
})