1414 v-for =" (item, index) in $store.getters.sidebar"
1515 :key =" index"
1616 :item =" item"
17- :open =" openItems .indexOf(index) ! == -1"
17+ :open =" closedItems .indexOf(index) = == -1"
1818 @toggle =" toggleItem(index)"
1919 />
2020 </div >
@@ -35,7 +35,7 @@ export default {
3535 },
3636 data () {
3737 return {
38- openItems : []
38+ closedItems : []
3939 }
4040 },
4141 watch: {
@@ -52,15 +52,15 @@ export default {
5252 },
5353 methods: {
5454 openItem (index ) {
55- if (this .openItems .indexOf (index) === - 1 ) {
56- this .openItems . push ( index)
55+ if (this .closedItems .indexOf (index) > - 1 ) {
56+ this .closedItems = this . closedItems . filter ( v => v !== index)
5757 }
5858 },
5959 toggleItem (index ) {
60- if (this .openItems .indexOf (index) === - 1 ) {
61- this .openItems .push (index)
60+ if (this .closedItems .indexOf (index) === - 1 ) {
61+ this .closedItems .push (index)
6262 } else {
63- this .openItems = this .openItems .filter (v => v !== index)
63+ this .closedItems = this .closedItems .filter (v => v !== index)
6464 }
6565 },
6666 getCurrentIndex (currentPath , sidebarItems ) {
@@ -91,9 +91,8 @@ export default {
9191 bottom : 0 ;
9292 z-index : 9 ;
9393 overflow-y : auto ;
94- padding : 30px 0 ;
94+ padding : 40 px 0 30px 0 ;
9595 word-break : break-word ;
96- border-right : 1px solid var (--border-color );
9796
9897 & a {
9998 text-decoration : none ;
@@ -105,6 +104,8 @@ export default {
105104 transform: translateX(-100%);
106105 width: 80%;
107106 transition: transform 0.5s cubic-bezier(0.5 , 0.32 , 0.01 , 1);
107+ padding: 30px 0;
108+ border-right : 1px solid var(--border-color);
108109
109110 &.isShown {
110111 transform : translateX (0 );
0 commit comments