Element Plus 不兼容变化(中文简体) #5657
Replies: 7 comments 5 replies
-
dark 模式在这次正式版里还没更新么 |
Beta Was this translation helpful? Give feedback.
-
The first time support |
Beta Was this translation helpful? Give feedback.
-
近段时间看到有个namespace属性,怎么没看到放到全局配置里 |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
现在 icon 是需要单独作为依赖装载吗? |
Beta Was this translation helpful? Give feedback.
-
不兼容还有,datepicker format属性,大小写问题 |
Beta Was this translation helpful? Give feedback.
-
还在用 webpack 3 的,还有救吗? |
Beta Was this translation helpful? Give feedback.
-
本文档将列举与 Element UI 2.x 的不兼容变化。
开发环境
Vue CLI
如果您正在使用 Vue CLI 作为构建工具,请升级至最新版本,v4 与 v5 皆可。
Webpack 4
如果您正在使用 Webpack 4 作为构建工具,请添加以下配置。
Webpack 5
如果您正在使用 Webpack 5 作为构建工具,请添加以下配置。
兼容性
Element Plus 对浏览器的最低要求如下:
如果想在低版本浏览器上正常使用 Element Plus,请自行使用 Babel、ESBuild 或其他转换工具,并引入相应的 polyfill。
值得注意的是,Element Plus 使用到了
ResizeObserver
,需要您自行引入 resize-observer-polyfill。详情请参阅 ResizeObserver 的兼容性。更多细节请参阅文档。删除 Font Icon
基于类名的 Font Icon 已被移除,这意味着您需要把所有
el-icon-
相关的代码迁移至 SVG Font,并请参考以下对比表格。更多关于 SVG 图标的细节,您可以参阅此篇文档。您也可以使用 unplugin-icons 插件来进行自动导入。Element UI
Element Plus
发布包
Element Plus 的源代码
/packages
已在 npm 发布包删除。如有需要,请自行复制源代码。安装
导入
Element Plus 的导入路径与 Element UI 不同,请参考如下代码,更多方式请参阅 安装文档。
全局配置
全局配置
Vue.prototype.$ELEMENT
已删除,请更改为以下方式或使用 config-provider 组件,示例代码如下
设计
组件 size 体系由 default / medium / small / mini 切换为更自然的 large / default / small,以 default 为基础,需要加大则选择 large,需要缩小则选择 small。Padding 方面则优化为更通用的 4px 体系,采用 4/8 px 作为原子单位控制整个系统的 padding 一致性。即大组件 padding 也大,小组件 padding 也小。
主要涉及的组件为 Button、Radio、Checkbox、Input、Select、DatePicker、Form 等表单组件和 Table、Tag 等其他有 size 属性的组件。主要涉及属性为 padding 和 margin 属性修改、 font-size 等字体和图标大小修改等。
自定义样式
Sass
在
.scss
文件中,导入所有样式:由于
@use
存在作用域,在使用变量时需将其导出,或通过@forward
转发变量。譬如:
'\*'
代表无命名空间,也可以为其命名。通过
@forward
语法转发应用变量:变量
-background-color
->-bg-color
-font-color
->-text-color
变量名称命名将会与 tailwindcss 中变量命名类似。
各组件的变量使用
@use 'sass:map';
进行组织,对应组件的变量移动至对应组件名称下。暴露出的变量请参见
element-plus/theme-chalk/src/common/var.scss
。例如
switch
组件的默认变量为:用户自定义变量:(将会自动覆盖并合并默认变量)
更多细节请参阅 自定义主题文档。
国际化
Element Plus 使用英语作为默认语言。如需修改默认语言,请参考 全局配置 小节,设置
locale
属性。更多细节请参阅 此篇文档。
组件
由于 Vue 3 把
v-model
的属性名从value
改为model-value
,所以如果您使用了value
属性,请改为model-value
(v-model
无特殊说明不用修改),后面不再赘述。Layout 布局
Row 行
type
Dialog 对话框
visible
model-value
/v-model
Menu 菜单
ElSubmenu
/el-submenu
ElSubMenu
/el-sub-menu
Popconfirm 气泡确认框
on-confirm
confirm
2.14.0
时on-cancel
cancel
2.14.0
时Timeline 时间线
reverse
Date Picker / Time Picker / DateTime Picker 日期时间选择器
picker-options
picker-options.format
format
picker-options.selectableRange
disabled-hours
/disabled-minutes
/disabled-seconds
first-day-of-week
default-time
Date
对象Tooltip 文字提示
popper-options
请参阅 popperjs 文档。
offset
0
改为12
open-delay
show-after
close-delay
hide-after
hide-after
auto-close
Calendar 日历
value
model-value
/v-model
Date
对象range
Date
对象,不必是一周的开始日期或结束日期first-day-of-week
Popover 弹出框
open-delay
show-after
close-delay
hide-after
hide-after
auto-close
Scrollbar 滚动条
wrap
wrap$
Form 表单
float 布局已经改为 flex 布局。
validate
reject
的Promise
,不再是false
。更多关于新功能与不兼容变化的细节,请参阅此文档
模板
以下是快速上手模板,希望能更好地帮助到您。
Beta Was this translation helpful? Give feedback.
All reactions