[Element-plus]动态设置组件的语言

nuxt element-plus国际化

vue element-plus国际化

html 复制代码
<template>
  <div class="container">
<!--    <LangSwitcher />-->
    <button @click="toggle('zh-cn')">中文</button>
    <button @click="toggle('en')">English</button>
    <button @click="toggle('ja')">日本语</button>
    <div>
      <br />
      <el-config-provider :locale="locale">
        <el-table :data="[]" />
        <el-pagination :total="100" />
      </el-config-provider>
    </div>
  </div>
</template>

<script setup lang="ts">
import LangSwitcher from './lang.vue'
const dialogVisible = ref(false)
const openDialog = () => {
  dialogVisible.value = true
}
import { ref, computed } from 'vue'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import en from 'element-plus/dist/locale/en.mjs'
import ja from 'element-plus/dist/locale/ja.mjs'

const language = ref(zhCn)
const locale = computed(() => {
  switch(language.value) {
    case 'zh-cn':
      return zhCn
    case 'en':
      return en
    case 'ja':
      return ja
    default:
      return zhCn
  }
})

//设置多语言的方法
const toggle = (event: string) => {
  // language.value = language.value === 'zh-cn' ? 'en' : 'zh-cn'
  language.value = event
}
</script>
相关推荐
三小河1 小时前
Agent Skill与Rules的区别——以Cursor为例
前端·javascript·后端
Hilaku1 小时前
不要在简历上写精通 Vue3?来自面试官的真实劝退
前端·javascript·vue.js
三小河1 小时前
前端视角详解 Agent Skill
前端·javascript·后端
颜酱1 小时前
二叉树遍历思维实战
javascript·后端·算法
鹏多多2 小时前
移动端H5项目,还需要react-fastclick解决300ms点击延迟吗?
前端·javascript·react.js
不想秃头的程序员2 小时前
Vue3 封装 Axios 实战:从基础到生产级,新手也能秒上手
前端·javascript·面试
奔跑的web.2 小时前
UniApp 路由导航守
前端·javascript·uni-app
竟未曾年少轻狂2 小时前
Vue3 生命周期钩子
前端·javascript·vue.js·前端框架·生命周期
TT哇2 小时前
【实习】数字营销系统 银行经理端(interact_bank)前端 Vue 移动端页面的 UI 重构与优化
java·前端·vue.js·ui
不一样的少年_2 小时前
Chrome 插件实战:如何实现“杀不死”的可靠数据上报?
前端·javascript·监控