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
| Parameter | Type |
|---|---|
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
| Parameter | Type |
|---|---|
itemId | string |
targetGroupId | string |
targetIndex | number |
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
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
| Parameter | Type |
|---|---|
targetItemId | string |
dropMode | QueryDropMode |
isValid | boolean |
depth | number |
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
| Parameter | Type |
|---|---|
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
| Parameter | Type |
|---|---|
itemId | string |
Returns
void
subscribe()
subscribe(listener): () => void;
Defined in: packages/rxdb-model-react/src/query-builder/query-group/query-group.tsx:70
订阅状态变更(useSyncExternalStore 的 subscribe)。
Parameters
| Parameter | Type |
|---|---|
listener | () => void |
Returns
() => void