FastCrud除了导出核心的几个组件,还有一些类和使用的方法。
类
使用方法
import {FastTableOption, Opt, PageQuery, Query, Order, Cond} from 'fast-crud-ui'
可导出的类介绍
类 | 说明 | 使用场景 |
---|---|---|
FastTableOption | FastTable组件唯一接收的prop参数!非常重要,详细配置参考前面FastTable介绍。 | FastTable配置 |
Opt | 这是一个枚举。分页、列表查询时,表示筛选条件的比较操作符。完整的操作符有:
| 分页、列表查询时的筛选条件比较操作符。用于Cond的构造参数。 |
Cond | 列表、分页查询时的筛选条件。 构造函数:(col: String, opt: Opt, val: Any) | 列表、分页查询时。如果opt为Opt.NULL、Opt.NNULL这样的值,则val无需传。 |
Order | 列表、分页查询时排序。 构造函数: (col: String, asc: Boolean = false) | 列表、分页查询时。 |
Query | 列表查询时,完整参数的类。 空构造函数,通过set给值。完整可用方法有:
完整的属性有:
| 列表查询时。用于操作、构造列表查询的条件(指定返回列、筛选条件、是否distinct、排序、toJson) 注意: toJson会将相关col转为驼峰 |
PageQuery | PageQuery是Query的继承子类,除了Query的参数和方法,还多了分页的两个参数:
| 分页查询时,用于操作、构造列表查询的条件(指定返回列、筛选条件、是否distinct、排序、toJson) |
工具类方法
使用方法
import {util} from 'fast-crud-ui';
if (util.isEmpty("")) {
// ...
}
util可用的方法列表
方法 | 参数 | 说明 |
---|---|---|
isEmpty | (val: Any) | 判断空字符串、空对象、空数组、null、undefined |
isString | (val: Any) | 判断是否为字符串 |
isNumber | (val: Any) | 判断是否为数值 |
isArray | (val: Any) | 判断是否为数组 |
ifBlank | (val: String) | 是否为空串(内部会trim), undefined、null和trim后长度为0, 视为true |
isFunction | (val: Any) | 是否为函数 |
isObject | (val: Any) | 是否为对象 |
isBoolean | (val: Any) | 是否为布尔值 |
isNull | (val: Any) | 是否为null值 |
isUndefined | (val: Any) | 是否为undefined |
defaultIfEmpty | (val: Any, defaultVal: Any) | val如果isEmpty为true, 则返回defaultVal值 |
defaultIfBlank | (val: String, defaultVal: String) | val如果ifBlank为true, 则返回defaultVal值 |
camelCaseTo | (val: String, separator: String = '_') | 驼峰转指定分隔符(默认下划线) |
caseToCamel | (val: String, separator: String = '_') | ?(默认下划线)转驼峰 |
clear | (val: Object) | 清空对象所有的键值 |
deepClone | (val: Object|Array) | 深度拷贝 |
merge | (obj1: Object, obj2: Object, deep: Boolean = true, ignoreNullAndUndefined: Boolean = false, coverFn: Function = (obj1, obj2, key, valueOfObj2) => {}) | 针对两个obj做merge,策略: 将opt2 merge到opt1, 对于opt1已有的key-value, 默认不覆盖(可由coverFn决定), 对于opt2中新的key-value, 追加到opt1中。deep值表示是否深度执行merge逻辑(不传入则为true). 函数将更改opt1的值, 同时返回opt1 |
coverMerge | (obj1: Object, obj2: Object, deep: Boolean = true, ignoreNullAndUndefined: Boolean = false) | 针对两个obj做merge, 策略: 将opt2中的key-value根据key merge到opt1上: 若op1也存在这个key,则取opt2这个key的值覆盖到opt1上; 若opt1中不存在, 则会被直接追加到opt1中, 因此函数会更改opt1, 执行完后, opt1将是merge后的对象。最后将opt1的深拷贝返回 |
openDialog | (config: Object) | 打开一个模态框(弹窗)。完整配置如下:
此方法会返回一个Promise, 通过then可接收YourComponentInstance emit的ok事件中传递的参数; 通过catch可接收YourComponentInstance emit的cancel事件。 通过此方法,可以方便的实现js驱动的弹窗,避免部分属性污染组件全局。 |
pick( | (config: Object) | 内部调用openDialog, 并根据config.option动态创建一个FastTable,以便pick数据。完整配置如下:
|