QueryBuilderService<T>
Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:50
QueryBuilder 核心服务 基于 RxJS 的响应式状态管理
Type Parameters
| Type Parameter | Default type |
|---|---|
T | Record<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
| Parameter | Type | Description |
|---|---|---|
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
| Parameter | Type |
|---|---|
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
| Parameter | Type |
|---|---|
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
| Parameter | Type |
|---|---|
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
getFields()
getFields(): FieldMetadata[];
Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:95
获取字段列表
Returns
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
getState()
getState(): QueryBuilderState<T>;
Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:79
获取当前状态快照
Returns
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
| Parameter | Type |
|---|---|
itemId | string |
targetGroupId | string |
targetIndex | number |
Returns
void
remove()
remove(itemId): void;
Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:123
删除规则或组
Parameters
| Parameter | Type |
|---|---|
itemId | string |
Returns
void
setFields()
setFields(fields): void;
Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:99
设置字段列表
Parameters
| Parameter | Type |
|---|---|
fields | FieldMetadata[] |
Returns
void
setMaxNestingLevel()
setMaxNestingLevel(level): void;
Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:91
动态更新最大嵌套层级
Parameters
| Parameter | Type |
|---|---|
level | number |
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
| Parameter | Type |
|---|---|
groupId | string |
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
| Parameter | Type |
|---|---|
ruleId | string |
updates | Partial<Omit<UIRule, "id">> |
Returns
void
validate()
validate(): ValidationResult;
Defined in: packages/rxdb-model/dist/query-builder/services/query-builder.service.d.ts:150
执行校验并返回结果