import { mapGetters } from "vuex"; import "./index.scss"; export default { name: "cl-menu-slider", data() { return { visible: true }; }, computed: { ...mapGetters(["menuList", "menuCollapse", "browser", "app"]) }, watch: { menuList() { this.refresh(); }, "app.conf.showAMenu"() { this.$store.commit("SET_MENU_LIST"); } }, methods: { toView(url) { if (url != this.$route.path) { this.$router.push(url); } }, refresh() { this.visible = false; setTimeout(() => { this.visible = true; }, 0); } }, render() { const fn = list => { return list .filter(e => e.isShow) .map(e => { let html = null; if (e.type == 0) { html = ( {fn(e.children)} ); } else { html = ( {e.name} ); } return html; }); }; let el = fn(this.menuList); return ( this.visible && (
{el}
) ); } };