2021-08-24 13:36:48 +08:00
|
|
|
|
# Config Provider
|
2021-07-26 00:24:30 +08:00
|
|
|
|
|
2021-08-24 13:36:48 +08:00
|
|
|
|
Config Provider 被用来提供全局的配置选项,让你的配置能够在全局都能够被访问到,Config Provider 使用了 [Vue 的 provide/inject 特性](https://v3.vuejs.org/guide/composition-api-provide-inject.html#reactivity)
|
2021-07-26 00:24:30 +08:00
|
|
|
|
|
2021-08-24 13:36:48 +08:00
|
|
|
|
```html
|
|
|
|
|
<template>
|
|
|
|
|
<el-config-provider :locale="locale">
|
|
|
|
|
<app />
|
|
|
|
|
</el-config-provider>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import { defineComponent } from 'vue'
|
|
|
|
|
import { ElConfigProvider } from 'element-plus'
|
|
|
|
|
|
|
|
|
|
import zhCn from 'element-plus/lib/locale/lang/zh-cn'
|
|
|
|
|
|
|
|
|
|
export default defineComponent({
|
|
|
|
|
components: {
|
|
|
|
|
ElConfigProvider,
|
|
|
|
|
},
|
|
|
|
|
setup() {
|
|
|
|
|
return {
|
|
|
|
|
locale: zhCn,
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
</script>
|
|
|
|
|
```
|
2021-07-26 00:24:30 +08:00
|
|
|
|
|
2021-08-24 13:36:48 +08:00
|
|
|
|
## 代码演示
|
2021-07-26 00:24:30 +08:00
|
|
|
|
|
2021-08-24 13:36:48 +08:00
|
|
|
|
:::demo
|
2021-07-26 00:24:30 +08:00
|
|
|
|
|
|
|
|
|
```html
|
|
|
|
|
<div>
|
|
|
|
|
<el-config-provider :locale="locale1">
|
2021-08-24 13:36:48 +08:00
|
|
|
|
<div style="margin: 8px;">
|
|
|
|
|
<el-empty />
|
|
|
|
|
</div>
|
|
|
|
|
<div style="margin: 8px;">
|
|
|
|
|
<el-transfer />
|
|
|
|
|
</div>
|
2021-07-26 00:24:30 +08:00
|
|
|
|
</el-config-provider>
|
|
|
|
|
<el-button @click="toggle" style="margin-left: 8px; vertical-align: middle;">
|
|
|
|
|
切换语言
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
<script>
|
2021-08-24 13:36:48 +08:00
|
|
|
|
import { ref } from 'vue'
|
2021-07-26 00:24:30 +08:00
|
|
|
|
// import { ConfigProvider } from 'element-plus'
|
|
|
|
|
export default {
|
2021-08-24 13:36:48 +08:00
|
|
|
|
setup() {
|
|
|
|
|
const locale1 = ref({
|
|
|
|
|
name: 'zh-cn',
|
|
|
|
|
el: {
|
|
|
|
|
table: {
|
|
|
|
|
emptyText: '无数据',
|
|
|
|
|
},
|
|
|
|
|
transfer: {
|
|
|
|
|
titles: ['列表1', '列表2'],
|
|
|
|
|
noData: '无数据',
|
2021-07-26 19:58:19 +08:00
|
|
|
|
},
|
2021-07-26 00:24:30 +08:00
|
|
|
|
},
|
2021-08-24 13:36:48 +08:00
|
|
|
|
})
|
|
|
|
|
const locale2 = ref({
|
|
|
|
|
name: 'en',
|
|
|
|
|
el: {
|
|
|
|
|
table: {
|
|
|
|
|
emptyText: 'no data',
|
|
|
|
|
},
|
|
|
|
|
transfer: {
|
|
|
|
|
titles: ['list 1', 'list 2'],
|
|
|
|
|
noData: 'no data'
|
2021-07-26 19:58:19 +08:00
|
|
|
|
},
|
|
|
|
|
},
|
2021-08-24 13:36:48 +08:00
|
|
|
|
})
|
|
|
|
|
const toggle = () => {
|
|
|
|
|
const temp = locale1.value
|
|
|
|
|
locale1.value = locale2.value
|
|
|
|
|
locale2.value = temp
|
|
|
|
|
}
|
|
|
|
|
return {
|
|
|
|
|
locale1,
|
|
|
|
|
locale2,
|
|
|
|
|
toggle,
|
2021-07-26 00:24:30 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
2021-08-24 13:36:48 +08:00
|
|
|
|
|
2021-07-26 00:24:30 +08:00
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
:::
|
|
|
|
|
|
|
|
|
|
### ConfigProvider 属性
|
|
|
|
|
|
2021-07-26 19:58:19 +08:00
|
|
|
|
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
|
|
|
|
| ------ | -------------------------------------------------------------------------------------------------- | ------------------------------------ | --------------------------------------------------------------------------------------- | ------- |
|
|
|
|
|
| locale | 翻译文本对象 | Object\<Language\> | [languages](https://github.com/element-plus/element-plus/tree/dev/packages/locale/lang) | English |
|