跳到主要内容

QueryDragDropHandler

Defined in: packages/rxdb-model-react/src/query-builder/query-group/query-group.tsx:50

拖拽状态管理器(Angular 侧同款类;signal → 订阅模型,React 侧经 useSyncExternalStore 消费)。

Remarks​

Angular 的构造函数直接收 moveItemFn;React 侧服务实例在 effect 期就绪, 拖拽管理器又必须在首次渲染创建(React Compiler 规则禁止在渲染期创建读取 ref 的闭包), 因此 moveItemFn 改为可选构造参数 + setMoveItemFn 后期绑定 —— 行为等价。

Constructors​

Constructor​

new QueryDragDropHandler(moveItemFn?): QueryDragDropHandler;

Defined in: packages/rxdb-model-react/src/query-builder/query-group/query-group.tsx:55

Parameters​

ParameterType
moveItemFn?(itemId, targetGroupId, targetIndex) => void

Returns​

QueryDragDropHandler

Methods​

drop()​

drop(
itemId,
targetGroupId,
targetIndex
): void;

Defined in: packages/rxdb-model-react/src/query-builder/query-group/query-group.tsx:95

放置:调用 moveItemFn 并复位;moveItemFn 抛错(如循环嵌套被服务层拒绝)时静默复位。

Parameters​

ParameterType
itemIdstring
targetGroupIdstring
targetIndexnumber

Returns​

void


end()​

end(): void;

Defined in: packages/rxdb-model-react/src/query-builder/query-group/query-group.tsx:105

结束拖拽(复位状态)。

Returns​

void


getState()​

getState(): QueryDragDropState;

Defined in: packages/rxdb-model-react/src/query-builder/query-group/query-group.tsx:65

当前状态快照。

Returns​

QueryDragDropState


leave()​

leave(): void;

Defined in: packages/rxdb-model-react/src/query-builder/query-group/query-group.tsx:90

清掉目标但保留被拖项。

Returns​

void


over()​

over(
targetItemId,
dropMode,
isValid,
depth
): void;

Defined in: packages/rxdb-model-react/src/query-builder/query-group/query-group.tsx:83

记录目标与放置模式(更深层的 over 优先:浅层事件不覆盖深层目标)。

Parameters​

ParameterType
targetItemIdstring
dropModeQueryDropMode
isValidboolean
depthnumber

Returns​

void


reset()​

reset(): void;

Defined in: packages/rxdb-model-react/src/query-builder/query-group/query-group.tsx:109

Returns​

void


setMoveItemFn()​

setMoveItemFn(moveItemFn): void;

Defined in: packages/rxdb-model-react/src/query-builder/query-group/query-group.tsx:60

绑定 / 替换 moveItem 实现。

Parameters​

ParameterType
moveItemFn(itemId, targetGroupId, targetIndex) => void

Returns​

void


start()​

start(itemId): void;

Defined in: packages/rxdb-model-react/src/query-builder/query-group/query-group.tsx:78

记录被拖项。

Parameters​

ParameterType
itemIdstring

Returns​

void


subscribe()​

subscribe(listener): () => void;

Defined in: packages/rxdb-model-react/src/query-builder/query-group/query-group.tsx:70

订阅状态变更(useSyncExternalStore 的 subscribe)。

Parameters​

ParameterType
listener() => void

Returns​

() => void