TableColumnItem.vue 689 Bytes
<template>
  	<el-table-column :label="generateI18nLabel()" v-bind="$attrs" v-on="$listeners">
		<template slot-scope="scope">
			<slot :scope="scope"/>
		</template> 
	</el-table-column>
</template>

<script>
export default {
	props: {
		label: {
			type: String
		}
	},
	methods: {
		/**
		 * 以英文为主
		 * 	若 lang 为中文 zh ,则列 label 不变
		 * 	若 lang 为英文 en ,则需将中文翻译为英文(得提前配置好表格头的国际化:中 --> 英)
		 */
		generateI18nLabel() {
			const lang = this.$store.state.I18n.lang
			if (lang === "zh") {
				return this.label;
			}
			return this.$t(`columns.${this.label}`)
		}
	}
};
</script>

<style></style>