m-dropdown.js 1.52 KB
import {
	mapState
} from 'vuex'

import api from '@/api/api'
import {
	httpPost
} from '@/api/fetch-api.js'

export default {
	name: "DropDownList",
	data() {
		return {
			navList: [],
			activeNames: [],
			activeName: [],
			activeIndex: -1,
			borderBoo: false
		};
	},
	props: {
		visible: {
			type: Boolean,
			default () {
				return false;
			}
		},
		langList: {
			type: Array,
			default () {
				return [];
			}
		},
		// 显示/隐藏移动端导航
		showDropdownM: {
			type: Function,
			default: null
		},
	},
	computed: {
		locale() {
			return this.$i18n.locale || 'tc';
		},
		i18n() {
			return this.$i18n.messages && this.$i18n.locale ? this.$i18n.messages[this.$i18n.locale] : {};
		},
	},
	methods: {
		onClickHandler(item) {
			let path = item && item.path || "";
			if (path) {
				this.showDropdownM(false);
				this.$router.push({
					path: path
				})
			}
		},
		// 点击item
		onChangeHandler(evt) {
			this.activeIndex = evt;
		},
		/**
		 * 设置语言
		 */
		setLangHandler(curData) {
			this.showDropdownM(false);
			// 如果是语言设置,则设置语言
			let lang = curData.value;
			this.$i18n.locale = lang;
			localStorage.setItem("lang", lang);
			this.sTitle = curData.name;
			window.location.reload();
		},
		initData() {
			let navList = this.i18n.nav.navList;
			navList.forEach(element => {
				this.activeNames.push(
					[]
				)
			});
			this.navList = navList;
			console.log("navList:", this.navList);
			console.log("langList:", this.langList);
		}
	},
	created() {
		this.initData();
	},
};