<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>