WhereFilterBuilder

Where 过滤构建器,用于添加、修改、删除行级过滤条件。Where 过滤在数据查询前生效,用于筛选原始数据

属性

方法

constructor

定义:

constructor(doc: Y.Doc, dsl: Y.Map<any>)

参数:

参数类型说明
docY.Doc-
dslY.Map-

getConditions

定义:

getConditions(): Y.Array<any>

返回: Y.Array<any>

add

添加一个 Where 过滤条件

定义:

add(field: string, callback: (node: WhereFilterNodeBuilder) => void): WhereFilterBuilder

返回: WhereFilterBuilder

参数:

参数类型说明
fieldstring- 字段名
callback(node: WhereFilterNodeBuilder) => void- 回调函数

addGroup

添加一个 Where 分组

定义:

addGroup(op: 'and' | 'or', callback: (group: WhereGroupBuilder) => void): WhereFilterBuilder

返回: WhereFilterBuilder

参数:

参数类型说明
op'and' | 'or'- 逻辑操作符
callback(group: WhereGroupBuilder) => void- 回调函数

update

更新指定 ID 的过滤条件

定义:

update(id: string, callback: (node: WhereFilterNodeBuilder) => void): WhereFilterBuilder

返回: WhereFilterBuilder

参数:

参数类型说明
idstring- 过滤条件 ID
callback(node: WhereFilterNodeBuilder) => void- 回调函数

updateGroup

更新指定 ID 的分组

定义:

updateGroup(id: string, callback: (group: WhereGroupBuilder) => void): WhereFilterBuilder

返回: WhereFilterBuilder

参数:

参数类型说明
idstring- 分组 ID
callback(group: WhereGroupBuilder) => void- 回调函数

remove

删除指定 ID 的条件或指定索引的项

定义:

remove(idOrIndex: string | number): WhereFilterBuilder

返回: WhereFilterBuilder

参数:

参数类型说明
idOrIndexstring | number- ID 或索引

find

按回调条件查找第一个条件(过滤或分组),行为与 Array.find 一致

定义:

find(predicate: (entry: WhereFilterNodeBuilder | WhereGroupBuilder, index: number) => boolean): WhereFilterNodeBuilder | WhereGroupBuilder | undefined

返回: WhereFilterNodeBuilder \| WhereGroupBuilder \| undefined

参数:

参数类型说明
predicate(entry: WhereFilterNodeBuilder | WhereGroupBuilder, index: number) => boolean- 查找条件

clear

清空所有 Where 过滤条件

定义:

clear()

toJSON

导出完整的 Where 过滤配置

定义:

toJSON(): VBIWhereGroup

返回: VBIWhereGroup

observe

监听过滤条件变化,返回取消监听的函数

定义:

observe(callback: ObserveDeepCallback): () => void

返回: () => void

参数:

参数类型说明
callbackObserveDeepCallback- 回调函数

static isGroup

判断是否为分组节点

定义:

static isGroup(yMap: Y.Map<any>): boolean

返回: boolean

参数:

参数类型说明
yMapY.Map-

static isNode

判断是否为叶子节点

定义:

static isNode(yMap: Y.Map<any>): boolean

返回: boolean

参数:

参数类型说明
yMapY.Map-