|
@ -9,7 +9,7 @@ import "./index.less"; |
|
|
let scrollbar = null |
|
|
let scrollbar = null |
|
|
const homePath = '/example/e1/c1' |
|
|
const homePath = '/example/e1/c1' |
|
|
const Sider = (props) => { |
|
|
const Sider = (props) => { |
|
|
const { collapsed, clientHeight, dispatch, pathname,leftItems } = props |
|
|
const { collapsed, clientHeight, dispatch, pathname,leftItems,leftChange } = props |
|
|
const [items, setItems] = useState([]) |
|
|
const [items, setItems] = useState([]) |
|
|
const [selectedKeys, setSelectedKeys] = useState([]) |
|
|
const [selectedKeys, setSelectedKeys] = useState([]) |
|
|
const [openKeys, setOpenKeys] = useState([]) |
|
|
const [openKeys, setOpenKeys] = useState([]) |
|
@ -18,6 +18,7 @@ const Sider = (props) => { |
|
|
let nextItems = leftItems |
|
|
let nextItems = leftItems |
|
|
let pathname_ = pathname == '/' ? homePath : pathname |
|
|
let pathname_ = pathname == '/' ? homePath : pathname |
|
|
const initKeys = (items, lastKeys) => { |
|
|
const initKeys = (items, lastKeys) => { |
|
|
|
|
|
console.log('1111111',items); |
|
|
for (let it of items) { |
|
|
for (let it of items) { |
|
|
if (it.to && it.to == pathname_) { |
|
|
if (it.to && it.to == pathname_) { |
|
|
lastKeys.selectedKeys.push(it.itemKey) |
|
|
lastKeys.selectedKeys.push(it.itemKey) |
|
@ -66,6 +67,7 @@ const Sider = (props) => { |
|
|
}, [leftItems]) |
|
|
}, [leftItems]) |
|
|
let routeSelectedKey = [useLocation().pathname.split('/')[1]]//没有子目录的 |
|
|
let routeSelectedKey = [useLocation().pathname.split('/')[1]]//没有子目录的 |
|
|
let routeSelectedKeys = [useLocation().pathname.split('/')[2]]//有子目录的 |
|
|
let routeSelectedKeys = [useLocation().pathname.split('/')[2]]//有子目录的 |
|
|
|
|
|
let routeSelectedKeyss = [useLocation().pathname.split('/')[3]]//有子目录的 |
|
|
useEffect(()=>{ |
|
|
useEffect(()=>{ |
|
|
let pathname_ = pathname == '/' ? homePath : pathname |
|
|
let pathname_ = pathname == '/' ? homePath : pathname |
|
|
const initKeys = (items, lastKeys) => { |
|
|
const initKeys = (items, lastKeys) => { |
|
@ -84,8 +86,10 @@ const Sider = (props) => { |
|
|
} |
|
|
} |
|
|
return lastKeys |
|
|
return lastKeys |
|
|
} |
|
|
} |
|
|
|
|
|
if(routeSelectedKeyss[0]){ |
|
|
if(routeSelectedKeys[0]){ |
|
|
setSelectedKeys(routeSelectedKeyss) |
|
|
|
|
|
} |
|
|
|
|
|
else if(routeSelectedKeys[0]){ |
|
|
setSelectedKeys(routeSelectedKeys) |
|
|
setSelectedKeys(routeSelectedKeys) |
|
|
} |
|
|
} |
|
|
else{ |
|
|
else{ |
|
@ -95,7 +99,7 @@ const Sider = (props) => { |
|
|
if (lastOpenKeys) { |
|
|
if (lastOpenKeys) { |
|
|
setOpenKeys(JSON.parse(lastOpenKeys)) |
|
|
setOpenKeys(JSON.parse(lastOpenKeys)) |
|
|
} |
|
|
} |
|
|
},[window.localStorage.vcmp_open_sider,window.localStorage.vcmp_selected_sider]) |
|
|
},[window.localStorage.vcmp_open_sider,window.localStorage.vcmp_selected_sider,leftChange]) |
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
useEffect(() => { |
|
|
if (scrollbar) { |
|
|
if (scrollbar) { |
|
@ -106,9 +110,8 @@ const Sider = (props) => { |
|
|
<div id={'page-slider'} style={{ height: clientHeight, position: 'relative',background:'#101531',width:180 }}> |
|
|
<div id={'page-slider'} style={{ height: clientHeight, position: 'relative',background:'#101531',width:180 }}> |
|
|
<Nav |
|
|
<Nav |
|
|
style={{background:'#101531',width:180,padding:0}} |
|
|
style={{background:'#101531',width:180,padding:0}} |
|
|
// defaultOpenKeys={openKeys} |
|
|
|
|
|
// defaultSelectedKeys ={selectedKeys} |
|
|
|
|
|
selectedKeys={selectedKeys} |
|
|
selectedKeys={selectedKeys} |
|
|
|
|
|
|
|
|
openKeys={openKeys} |
|
|
openKeys={openKeys} |
|
|
onSelect={({ selectedItems, selectedKeys, }) => { |
|
|
onSelect={({ selectedItems, selectedKeys, }) => { |
|
|
const selectItem = selectedItems[0] |
|
|
const selectItem = selectedItems[0] |
|
|