跳到主要内容

QueryBuilderService<T>

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:50

QueryBuilder 核心服务 基于 RxJS 的响应式状态管理

Type Parameters​

Type ParameterDefault type
TRecord<string, unknown>

Constructors​

Constructor​

new QueryBuilderService<T>(options?): QueryBuilderService<T>;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:75

Parameters​

ParameterTypeDescription
options?QueryBuilderServiceOptions<T>查询构建器配置(schema / initialQuery / 嵌套上限等)

Returns​

QueryBuilderService<T>

Properties​

query$​

readonly query$: Observable<RuleGroup<T>>;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:73

RxDB Query 格式的 Observable


rootGroup$​

readonly rootGroup$: Observable<QueryBuilderRuleGroup<T>>;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:65

根规则组的 Observable


state$​

readonly state$: Observable<QueryBuilderState<T>>;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:61

状态变更的 Observable 流


validation$​

readonly validation$: Observable<ValidationResult>;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:69

校验结果的 Observable

Methods​

addGroup()​

addGroup(parentGroupId?, combinator?): string;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:111

添加规则组

Parameters​

ParameterType
parentGroupId?string | null
combinator?"and" | "or"

Returns​

string


addRule()​

addRule(parentGroupId?, rule?): string;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:107

添加规则

Parameters​

ParameterType
parentGroupId?string | null
rule?Partial<Omit<UIRule, "id">>

Returns​

string


clear()​

clear(): void;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:131

清空所有规则

Returns​

void


destroy()​

destroy(): void;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:135

销毁服务

Returns​

void


fromRxDBQuery()​

fromRxDBQuery(query): void;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:146

从 RxDB Query 加载

同时接受 RuleGroup(无 id)和 QueryBuilderRuleGroup(有 id)。 内部会重新分配 id,原始 id 会被忽略。

Parameters​

ParameterType
query| QueryBuilderRuleGroup<T> | RuleGroup<T>

Returns​

void


getConfig()​

getConfig(): QueryBuilderConfig<T>;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:83

获取当前配置

Returns​

QueryBuilderConfig<T>


getFields()​

getFields(): FieldMetadata[];

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:95

获取字段列表

Returns​

FieldMetadata[]


getMaxNestingLevel()​

getMaxNestingLevel(): number;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:87

获取最大嵌套层级

Returns​

number


getOperatorRegistry()​

getOperatorRegistry(): OperatorRegistry;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:103

获取操作符注册表

Returns​

OperatorRegistry


getState()​

getState(): QueryBuilderState<T>;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:79

获取当前状态快照

Returns​

QueryBuilderState<T>


isValid()​

isValid(): boolean;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:154

检查当前状态是否有效

Returns​

boolean


moveItem()​

moveItem(
itemId,
targetGroupId,
targetIndex
): void;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:127

移动规则或组到目标分组的指定位置

Parameters​

ParameterType
itemIdstring
targetGroupIdstring
targetIndexnumber

Returns​

void


remove()​

remove(itemId): void;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:123

删除规则或组

Parameters​

ParameterType
itemIdstring

Returns​

void


setFields()​

setFields(fields): void;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:99

设置字段列表

Parameters​

ParameterType
fieldsFieldMetadata[]

Returns​

void


setMaxNestingLevel()​

setMaxNestingLevel(level): void;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:91

动态更新最大嵌套层级

Parameters​

ParameterType
levelnumber

Returns​

void


toRxDBQuery()​

toRxDBQuery(): RuleGroup<T>;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:139

获取 RxDB Query 格式

Returns​

RuleGroup<T>


updateGroupCombinator()​

updateGroupCombinator(groupId, combinator): void;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:119

更新组的组合器

Parameters​

ParameterType
groupIdstring
combinator"and" | "or"

Returns​

void


updateRule()​

updateRule(ruleId, updates): void;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:115

更新规则

Parameters​

ParameterType
ruleIdstring
updatesPartial<Omit<UIRule, "id">>

Returns​

void


validate()​

validate(): ValidationResult;

Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:150

执行校验并返回结果

Returns​

ValidationResult