Commit 90528c2a authored by wacky6.AriesMBP's avatar wacky6.AriesMBP Committed by 杨奕

Cascader: use ref / refInFor for menus

parent e60ff9e9
...@@ -100,14 +100,7 @@ ...@@ -100,14 +100,7 @@
scrollIntoView(menu, menu.getElementsByClassName('is-active')[0]); scrollIntoView(menu, menu.getElementsByClassName('is-active')[0]);
}, },
handleMenuEnter() { handleMenuEnter() {
this.$nextTick(() => this.getMenus().forEach(menu => this.scrollMenu(menu))); this.$nextTick(() => this.$refs.menus.forEach(menu => this.scrollMenu(menu)));
},
getMenus() {
if (this.$refs.wrapper) {
return Array.prototype.slice.call(this.$refs.wrapper.getElementsByClassName('el-cascader-menu'));
} else {
return [];
}
} }
}, },
...@@ -139,14 +132,14 @@ ...@@ -139,14 +132,14 @@
this.activeItem(item, menuIndex); this.activeItem(item, menuIndex);
this.$nextTick(() => { this.$nextTick(() => {
// adjust self and next level // adjust self and next level
this.scrollMenu(this.getMenus()[menuIndex]); this.scrollMenu(this.$refs.menus[menuIndex]);
this.scrollMenu(this.getMenus()[menuIndex + 1]); this.scrollMenu(this.$refs.menus[menuIndex + 1]);
}); });
}; };
} else { } else {
events.on.click = () => { events.on.click = () => {
this.select(item, menuIndex); this.select(item, menuIndex);
this.$nextTick(() => this.scrollMenu(this.getMenus()[menuIndex])); this.$nextTick(() => this.scrollMenu(this.$refs.menus[menuIndex]));
}; };
} }
} }
...@@ -176,7 +169,9 @@ ...@@ -176,7 +169,9 @@
'el-cascader-menu': true, 'el-cascader-menu': true,
'el-cascader-menu--flexible': isFlat 'el-cascader-menu--flexible': isFlat
}} }}
style={menuStyle}> style={menuStyle}
refInFor
ref="menus">
{items} {items}
</ul> </ul>
); );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment