Skip to content

AppWrap 应用容器

说明

AppWrap 是一个应用容器,一般用在应用最外层,主要作用是:

(1)向内部的后代组件(element-plusyun-elp)传递默认配置,方便设置组件属性的默认值,简化配置

(2)设置 yun-elpelement-plus 组件库的语言选项:只需配置 locale,即可同步切换 y-app-wrap 内部的 yun-elp 与 Element Plus 文案(详见 语言配置

注意:

向后代组件传递的配置参数只是为了从全局角度简化组件的配置和使用,所以它的优先级最低

elpConfig.button.autoInsertSpace 控制两个汉字之间是否自动插入空格,默认 truey-button 底层为 el-button,与 el-button 共用该配置,无需在 button 上重复设置。

vue
<y-app-wrap :elp-config="{ button: { autoInsertSpace: false } }">
  <y-button>确定</y-button>
  <el-button>取消</el-button>
</y-app-wrap>

语言配置(locale)

locale 用于指定 y-app-wrap 子树内的语言。配置为 'zh-cn''en''ja''ar' 之一时:

  1. yun-elp 组件使用对应语言包(如 y-pop 确认文案、y-table 底部合计)
  2. Element Plus 组件使用对应语言包(如 el-pagination 的「前往 / 条/页」、el-date-picker 文案)

未传 locale 时默认为 'zh-cn',上述两类组件均显示简体中文。

y-app-wrap 内部已封装 el-config-provider。当 elpConfig 中设置 locale 时,会按 locale 自动注入 Element Plus 语言包,无需在业务里再维护一份 elLocaleMap

vue
<template>
  <y-app-wrap locale="zh-cn">
    <router-view />
  </y-app-wrap>
</template>

切换语言时只改 locale 即可:

vue
<y-app-wrap :locale="currentLocale">
  <router-view />
</y-app-wrap>

限制与覆盖

  • 语言码:必须是 'zh-cn' | 'en' | 'ja' | 'ar',不支持 'zh-CN''fr' 等任意字符串
  • 作用范围:仅对 y-app-wrap 内部y-*el-* 生效;外部的 Element Plus 组件需自行配置 el-config-providerlocale
  • 单独指定 EP 语言:传入 elpConfig.locale 后,不再按 locale 自动映射,以 elpConfig.locale 为准
vue
<script setup lang="ts">
import en from 'element-plus/dist/locale/en.mjs';
</script>

<template>
  <!-- yun-elp 仍为 zh-cn,EP 强制为英文 -->
  <y-app-wrap locale="zh-cn" :elp-config="{ locale: en }">
    <router-view />
  </y-app-wrap>
</template>

排版方向(RTL)由 direction 控制,与 locale 独立;详见 国际化

API

Attributes

属性名说明类型默认值
elpConfigel-config-providerobject
locale语言配置;同步 y-app-wrap 内 yun-elp 与 Element Plus 文案(未设置 elpConfig.locale 时自动映射 EP 语言包)enumzh-cn
direction排版方向;auto 时阿拉伯语自动 RTLenumauto
borderLabely-border-label 组件全局配置,见下表object
pageHeadery-page-header 组件全局配置,见下表object
pageFootery-page-footer 组件全局配置,见下表object
buttony-button 组件全局配置,见下表object
drawery-drawer 组件全局配置,见下表object
dialogy-dialog 组件全局配置,见下表object
emptyy-empty 组件全局配置,见下表object
textTooltipy-text-tooltip 组件全局配置,见下表object
descy-desc 组件全局配置,见下表object
popy-pop 组件全局配置,见下表object
tabley-table 组件全局配置,见下表object
columnFormy-column-form、y-column-forms 组件全局配置,见下表object
columnOpy-column-op 组件全局配置,见下表object
echartsy-echarts 组件全局配置,见下表object

border-label Properties

参数描述类型默认值
width组件总宽度string'auto'
height组件高度string'32px'

page-header Properties

参数描述类型默认值
height组件高度string
titlePath从路径元数据中获取title的取值路径string
border组件默认是否显示下边框boolean
paddingX组件水平内边距string / array
textStyle标题文本样式object
参数描述类型默认值
height组件高度,有效的css尺寸值string / number'56px'
left组件左侧距离,有效的css尺寸值string / number0
right组件右侧距离,有效的css尺寸值string / number0

button Properties

继承 el-button 的全部属性 ,另外包含以下属性

参数描述类型默认值
delay防抖间隔时间,单位msstring / number300
maxWait最大等待时间,单位msstring / number

drawer Properties

继承 el-drawer 的全部属性 ,另外包含以下属性

参数描述类型默认值
confirmText确认按钮文本string'确定'
confirmProps确认按钮属性object{type:'primary'}
cancelText取消按钮文本string'取消'
cancelProps取消按钮属性object{type:'default'}
titleStyle标题文本样式object

dialog Properties

继承 el-dialog 的全部属性 ,另外包含以下属性

参数描述类型默认值
confirmText确认按钮文本string'确定'
confirmProps确认按钮属性object{type:'primary'}
cancelText取消按钮文本string'取消'
cancelProps取消按钮属性object{type:'default'}
titleStyle标题文本样式object

empty Properties

继承 el-empty 的全部属性 ,另外包含以下属性

参数描述类型默认值
style组件样式,包括el-empty支持的css变量object
image自定义图片string
imageSize自定义图片大小number100
description自定义描述string'暂无数据'

text-tooltip Properties

参数描述类型默认值
placementtooltip显示位置enum'top'
tooltipPropstooltip配置属性,详见el-tooltipobject{}

desc Properties

参数描述类型默认值
labelWidthlabel 宽度string / number'auto'
labelStylelabel 样式object
contentStylecontent 样式object
labelAlignlabel 文本对齐方式enum'left'
contentAligncontent 文本对齐方式enum'left'
emptyTextcontent 内容为空时显示的内容string''

pop Properties

参数描述类型默认值
confirmText确认按钮文本string
confirmProps确认按钮属性object
cancelText取消按钮文本string
cancelProps取消按钮属性object
tipPlacementtooltip 显示位置enum
tipPropstooltip 配置属性,详见 el-tooltipobject
popWidthpopover 宽度number
popTitlepopover 标题string
popPlacementpopover 显示位置enum
popContentpopover 内容string
popPropspopover 配置属性,详见 el-popoverobject

table Properties

参数描述类型默认值
emptyProps空数据时 y-empty 配置object'auto'
paginationProps分页配置object{}

column-form Properties

参数描述类型默认值
placement错误提示tooltip弹出位置enum'auto'
popperClass错误提示tooltip 的 popper 类名string'y-column-form__error-tooltip'

column-op Properties

参数描述类型默认值
disabledDefaultTip按钮禁用状态时默认的tooltip提示文本string

echarts Properties

参数描述类型默认值
theme图表主题,参见ECharts 中的样式简介string / object
chartTypes需要动态导入的图表类型,如 ['LineChart', 'BarChart']array[]
components需要动态导入的组件类型,如 ['GridComponent', 'TooltipComponent']array[]
renderers需要动态导入的渲染器类型,如 ['CanvasRenderer']array['CanvasRenderer']
features需要动态导入的特性功能,如 ['LabelLayout', 'UniversalTransition']array[]
initOpts初始化参数,参见echarts initobject{}

Slots

插槽名说明参数
default默认插槽,用于放置内容