|
|
@ -16,49 +16,50 @@ const Sider = (props) => { |
|
|
|
useEffect(() => { |
|
|
|
const { sections, dispatch, user } = props; |
|
|
|
let nextItems = leftItems |
|
|
|
let pathname_ = pathname == '/' ? homePath : pathname |
|
|
|
const initKeys = (items, lastKeys) => { |
|
|
|
console.log('1111111',items); |
|
|
|
for (let it of items) { |
|
|
|
if (it.to && it.to == pathname_) { |
|
|
|
lastKeys.selectedKeys.push(it.itemKey) |
|
|
|
return lastKeys |
|
|
|
} else if (it.items && it.items.length) { |
|
|
|
const preLastKeys = JSON.parse(JSON.stringify(lastKeys)) |
|
|
|
preLastKeys.openKeys.push(it.itemKey) |
|
|
|
const nextKeys = initKeys(it.items, JSON.parse(JSON.stringify(preLastKeys))) |
|
|
|
if (nextKeys.selectedKeys.length > preLastKeys.selectedKeys.length || nextKeys.openKeys.length > preLastKeys.openKeys.length) { |
|
|
|
return nextKeys |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return lastKeys |
|
|
|
return { |
|
|
|
selectedKeys: [], |
|
|
|
openKeys: [] |
|
|
|
} |
|
|
|
} |
|
|
|
// let pathname_ = pathname == '/' ? homePath : pathname |
|
|
|
// const initKeys = (items, lastKeys) => { |
|
|
|
// // console.log('1111111',items); |
|
|
|
// for (let it of items) { |
|
|
|
// if (it.to && it.to == pathname_) { |
|
|
|
// // console.log('22222222222',it.itemKey); |
|
|
|
// lastKeys.selectedKeys.push(it.itemKey) |
|
|
|
// return lastKeys |
|
|
|
// } else if (it.items && it.items.length) { |
|
|
|
// const preLastKeys = JSON.parse(JSON.stringify(lastKeys)) |
|
|
|
// preLastKeys.openKeys.push(it.itemKey) |
|
|
|
// const nextKeys = initKeys(it.items, JSON.parse(JSON.stringify(preLastKeys))) |
|
|
|
// if (nextKeys.selectedKeys.length > preLastKeys.selectedKeys.length || nextKeys.openKeys.length > preLastKeys.openKeys.length) { |
|
|
|
// return nextKeys |
|
|
|
// } |
|
|
|
// } |
|
|
|
// } |
|
|
|
// return lastKeys |
|
|
|
// return { |
|
|
|
// selectedKeys: [], |
|
|
|
// openKeys: [] |
|
|
|
// } |
|
|
|
// } |
|
|
|
setItems(nextItems) |
|
|
|
const { selectedKeys, openKeys } = initKeys( |
|
|
|
nextItems, |
|
|
|
{ |
|
|
|
selectedKeys: [], |
|
|
|
openKeys: [] |
|
|
|
} |
|
|
|
) |
|
|
|
if (selectedKeys.length || openKeys.length) { |
|
|
|
setSelectedKeys(selectedKeys) |
|
|
|
setOpenKeys(openKeys) |
|
|
|
} else { |
|
|
|
const lastSelectedKeys = localStorage.getItem('vcmp_selected_sider') |
|
|
|
if (lastSelectedKeys) { |
|
|
|
setSelectedKeys(JSON.parse(lastSelectedKeys)) |
|
|
|
} |
|
|
|
const lastOpenKeys = localStorage.getItem('vcmp_open_sider') |
|
|
|
if (lastOpenKeys) { |
|
|
|
setOpenKeys(JSON.parse(lastOpenKeys)) |
|
|
|
} |
|
|
|
} |
|
|
|
// const { selectedKeys, openKeys } = initKeys( |
|
|
|
// nextItems, |
|
|
|
// { |
|
|
|
// selectedKeys: [], |
|
|
|
// openKeys: [] |
|
|
|
// } |
|
|
|
// ) |
|
|
|
// if (selectedKeys.length || openKeys.length) { |
|
|
|
// setSelectedKeys(selectedKeys) |
|
|
|
// setOpenKeys(openKeys) |
|
|
|
// } else { |
|
|
|
// const lastSelectedKeys = localStorage.getItem('vcmp_selected_sider') |
|
|
|
// if (lastSelectedKeys) { |
|
|
|
// setSelectedKeys(JSON.parse(lastSelectedKeys)) |
|
|
|
// } |
|
|
|
// const lastOpenKeys = localStorage.getItem('vcmp_open_sider') |
|
|
|
// if (lastOpenKeys) { |
|
|
|
// setOpenKeys(JSON.parse(lastOpenKeys)) |
|
|
|
// } |
|
|
|
// } |
|
|
|
|
|
|
|
scrollbar = new PerfectScrollbar('#page-slider', { suppressScrollX: true }); |
|
|
|
if (pathname == '/') { |
|
|
@ -69,23 +70,6 @@ const Sider = (props) => { |
|
|
|
let routeSelectedKeys = [useLocation().pathname.split('/')[2]]//有子目录的 |
|
|
|
let routeSelectedKeyss = [useLocation().pathname.split('/')[3]]//有子目录的 |
|
|
|
useEffect(() => { |
|
|
|
let pathname_ = pathname == '/' ? homePath : pathname |
|
|
|
const initKeys = (items, lastKeys) => { |
|
|
|
for (let it of items) { |
|
|
|
if (it.to && it.to == pathname_) { |
|
|
|
lastKeys.selectedKeys.push(it.itemKey) |
|
|
|
return lastKeys |
|
|
|
} else if (it.items && it.items.length) { |
|
|
|
const preLastKeys = JSON.parse(JSON.stringify(lastKeys)) |
|
|
|
preLastKeys.openKeys.push(it.itemKey) |
|
|
|
const nextKeys = initKeys(it.items, JSON.parse(JSON.stringify(preLastKeys))) |
|
|
|
if (nextKeys.selectedKeys.length > preLastKeys.selectedKeys.length || nextKeys.openKeys.length > preLastKeys.openKeys.length) { |
|
|
|
return nextKeys |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return lastKeys |
|
|
|
} |
|
|
|
if (routeSelectedKeyss[0]) { |
|
|
|
setSelectedKeys(routeSelectedKeyss) |
|
|
|
} |
|
|
|