elementui vue2
ElementUI 在 Vue 2 中的使用指南
ElementUI 是一套基于 Vue 2.x 的桌面端组件库,提供了丰富的 UI 组件和交互功能。以下是其在 Vue 2 项目中的核心使用方法和注意事项。
安装与基础配置
通过 npm 或 yarn 安装 ElementUI:
npm install element-ui --save
# 或
yarn add element-ui
在 Vue 2 项目中全局引入:
import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);
如需按需引入,需配合 babel-plugin-component:

npm install babel-plugin-component --save-dev
修改 .babelrc 或 babel.config.js:
{
"plugins": [
[
"component",
{
"libraryName": "element-ui",
"styleLibraryName": "theme-chalk"
}
]
]
}
常用组件示例
按钮组件:
<template>
<el-button type="primary">主要按钮</el-button>
</template>
表单与验证:

<template>
<el-form :model="form" :rules="rules" ref="form">
<el-form-item label="用户名" prop="username">
<el-input v-model="form.username"></el-input>
</el-form-item>
<el-button @click="submitForm">提交</el-button>
</el-form>
</template>
<script>
export default {
data() {
return {
form: { username: '' },
rules: {
username: [
{ required: true, message: '请输入用户名', trigger: 'blur' }
]
}
};
},
methods: {
submitForm() {
this.$refs.form.validate(valid => {
if (valid) alert('验证通过');
});
}
}
};
</script>
表格与分页:
<template>
<el-table :data="tableData">
<el-table-column prop="date" label="日期"></el-table-column>
<el-table-column prop="name" label="姓名"></el-table-column>
</el-table>
<el-pagination :total="100" :page-size="10"></el-pagination>
</template>
<script>
export default {
data() {
return {
tableData: [
{ date: '2023-01-01', name: '张三' },
{ date: '2023-01-02', name: '李四' }
]
};
}
};
</script>
主题定制
通过 SCSS 变量覆盖实现主题定制。新建样式文件(如 element-variables.scss):
$--color-primary: #ff4500;
@import "~element-ui/packages/theme-chalk/src/index";
在项目中引入该文件:
import './element-variables.scss';
注意事项
- 兼容性:ElementUI 专为 Vue 2 设计,不兼容 Vue 3。Vue 3 项目需使用 Element Plus。
- 版本锁定:建议在
package.json中锁定版本以避免升级到不兼容版本:"element-ui": "2.15.13" - 国际化:通过
vue-i18n实现多语言支持:import locale from 'element-ui/lib/locale/lang/en'; Vue.use(ElementUI, { locale });
常见问题解决
- 样式未生效:检查 CSS 文件是否正确引入,或是否存在样式覆盖冲突。
- 按需引入无效:确认 Babel 配置正确,并重启开发服务器。
- 表单验证失败:确保
prop属性与rules中的字段名严格匹配。






