forked from Gitlink/forgeplus-react
新增目录/子目录自动打开左侧sidebar
This commit is contained in:
parent
66e9063952
commit
d6c543a1cd
|
|
@ -31,12 +31,12 @@ export default function Sidebar(props) {
|
|||
// 设置选中wiki
|
||||
setSelectedKey(defaultSelectedKeys);
|
||||
// 第一次渲染,默认打开选中的页面所处目录
|
||||
const keys = [];
|
||||
const keys = expandedKeys || [];
|
||||
const list = defaultSelectedKeys[0].split('-');
|
||||
list.map((item, index)=>{
|
||||
keys.push(index > 0 ? `${keys[index-1]}-${item}` : item)
|
||||
})
|
||||
setExpandedKeys(keys);
|
||||
setExpandedKeys(Array.from(new Set(keys)));
|
||||
}
|
||||
}, [defaultSelectedKeys])
|
||||
|
||||
|
|
@ -319,15 +319,23 @@ export default function Sidebar(props) {
|
|||
}
|
||||
if(!isEditName){
|
||||
// 新增目录:校验同级目录中是否有相同名称
|
||||
const {children, node, title, key} = visible;
|
||||
const {children, key} = visible;
|
||||
const mList = children.filter(item=>!item.title.trim().startsWith('[[')).map(i=>i.title.trim())
|
||||
if(mList.includes(`- ${menuName}`)){
|
||||
setAddMenuError('不能与已有目录名称相同');
|
||||
return;
|
||||
}
|
||||
const newList = menuList;
|
||||
// 设置Tree 打开的目录
|
||||
const keys = expandedKeys || [];
|
||||
const list = key.split('-');
|
||||
list.map((item, index)=>{
|
||||
keys.push(index > 0 ? `${keys[index-1]}-${item}` : item)
|
||||
})
|
||||
keys.push(`${key}-${children.length}`);
|
||||
setExpandedKeys(Array.from(new Set(keys)));
|
||||
addChildrenByKey(newList, key, menuName);
|
||||
updateSidebar(treeToMd(newList), 3)
|
||||
updateSidebar(treeToMd(newList), 3);
|
||||
}else{
|
||||
// isEditName 1 编辑目录名称 2编辑页面名称
|
||||
const titleToJudge = isEditName === 2 ? `[[${menuName}]]` : `- ${menuName}`;
|
||||
|
|
|
|||
Loading…
Reference in New Issue