npm install element-plus --save
自动导入
npm install -D unplugin-vue-components unplugin-auto-import
// vite.config.js
···
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
···
export default defineConfig({
plugins: [
···,
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
···
})
可对数据进行排序、筛选、对比或其他自定义操作
fit 默认 true
是否自动撑开列填充满表格容器
设为 false 需要手动设置 列的 width
lazy 需配合 load
修改行悬停高亮的样式
--el-table-row-hover-bg-color
表格边框颜色--el-table-border-color
去除底部白线,border没有看before
树形数据配合多选,无法选到子集
当对没有树形结构的表格绑定 row-key
不存在的键名 时, checkbox 会错误显示 全选
不换行显示方法
type=“selection/index/expand”
分别对应多选框 / 序号 / 折叠符号
filters 与 filter-method 配置过滤
当表格数据更新时,筛选会失效
用min-width 设置比例 总数字自动分配
width 不太好用
show-overflow-tooltip 不换行,超出通过提示框显示
el-menu-item 的 route 属性生效需要 设置 router=“ture”
关闭图标 需要 deep 修改样式
透明背景 避免悬停选中白底
// sass
.el-tree {
background-color: transparent;
color: #a4adce;
:deep(.el-tree-node__content:hover),
:deep(.el-tree-node:hover)
{
background-color: transparent;
}
:deep(.el-tree-node:focus) {
background-color: transparent;
color: white;
>.el-tree-node__content {
background-color: transparent;
color: white;
}
}
}
expand-on-click-node 点击结点是否展开,默认true展开
node-key 通常设为id default-key 会用到
setCheckedKeys([]) // 清空所有checked
修改页结点样式
:deep(.el-tree-node__children) {
.el-tree-node.is-current {
background-image: linear-gradient(to right, #1d305a, transparent, transparent);
background-position-x: 35px;
}
}
:deep(.is-current > .el-tree-node__content) {
color: #CFD7FE
}
设置默认展开后,即便折叠也会展开其他后,再次被展开
默认选中并不会触发展开,setCurrentKey 可以触发展开
data 格式
[
{
id: '',
label: '',
children: ''
}
]
// node-key="id"
Props = {
children: 'children',
label: 'label',
}
只支持slot插槽 在layout中注册
background 为 false 时,是白色背景
element-loading-background 设置加载中背景色
官方文档不够准确,没有展示 popper-class 属性
props 不能漏,否则无法选择
<el-tree-select v-model="parent_id" :data="TreeData" :props="{label: 'label', value: 'value', childern: 'children'}" :render-after-expand="false" popper-class="position" check-strictly style="width: 70%;" node-key="tree_id" />
去除hover box-shadow
.el-select:hover {
.el-input .el-input__wrapper {
--el-input-hover-border-color: transparent;
}
}
:deep(.el-input__wrapper) {
// 修改背景颜色
background-color: xxx;
// 去除圆角
border-radius: 0;
// 去除 白色“边框”
box-shadow: none;
}
去除弹窗箭头,修改弹窗背景色,改变悬停颜色
.el-select__popper {
margin: 0;
padding: 0 8px;
--el-border-color-light: rgba(21, 48, 99, .9);
--el-bg-color-overlay: rgba(6, 29, 66, .95);
--el-fill-color-light: rgba(6, 29, 66, .95)
.el-popconfirm__action {
margin: 0;
}
.el-popper__arrow::before {
display: none;
}
}
options 的数据格式
[
{label: '', value: ''}
]
vue scoped 特点
fileList 格式
[{
name: 'element-plus-logo.svg',
url: 'https://element-plus.org/images/element-plus-logo.svg',
}]
.el-input__inner::placeholder {
color: #fff;
text-align:center;
}
/* 谷歌 */
.el-input__inner::-webkit-input-placeholder {
color: #fff;
text-align:center;
}
/* 火狐 */
.el-input__inner:-moz-placeholder {
color: #fff;
text-align:center;
}
/*ie*/
.el-input__inner:-ms-input-placeholder {
color: #fff;
text-align:center;
}
proper 白色边框样式修改
.el-popper.el-picker__popper {
--el-border-color-light: rgba(6, 29, 66, .15);
--el-bg-color-overlay: rgba(6, 29, 66, .95);
--el-box-shadow-light: none;
border: 1px solid rgba(21, 48, 99, .9);
.el-date-picker {
--el-border-color-light: rgba(6, 29, 66, .15);
}
}
去除弹窗箭头方法 同上
使用format
指定输入框的格式。 使用value-format
指定绑定值的格式。