fix(mindmap): 补全 ensureActiveBefore 防止工具栏报错
This commit is contained in:
@@ -82,6 +82,26 @@ const applyToActiveNodes = (
|
|||||||
(mindmap.renderer?.activeNodeList ?? []).forEach(handler);
|
(mindmap.renderer?.activeNodeList ?? []).forEach(handler);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 确保存在激活节点后再执行命令,若无则自动选中根节点
|
||||||
|
const ensureActiveBefore = (mindmap?: MindMapInstance | null) => {
|
||||||
|
const mm = mindmap ?? null;
|
||||||
|
if (!mm) {
|
||||||
|
window.alert("思维导图尚未初始化");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
const list = mm.renderer?.activeNodeList ?? [];
|
||||||
|
if (!list || list.length === 0) {
|
||||||
|
const root = mm.renderer?.root ?? mm.renderer?.renderTree?._node;
|
||||||
|
if (root) {
|
||||||
|
mm.execCommand?.("SET_NODE_ACTIVE", root, true);
|
||||||
|
} else {
|
||||||
|
window.alert("请先选中一个节点");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return mm;
|
||||||
|
};
|
||||||
|
|
||||||
const MindmapBlockView = ({
|
const MindmapBlockView = ({
|
||||||
block,
|
block,
|
||||||
editor,
|
editor,
|
||||||
|
|||||||
Reference in New Issue
Block a user