Element UI Cheat Sheet
记录工作中常常需要修改的一些 element-ui 原生样式
el-select 的下拉框样式 #
使用 popper-class 自定义下拉框类名
/* Base styles for Custom Dropdown */
.custom-dropdown .el-select-dropdown{
background-color: #fff;
border-color: #dddfe5;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .4);
}
/* Dropdown Arrow */
.custom-dropdown .arrow {
border-bottom-color: #fff !important;
}
/* Dropdown Border */
.custom-dropdown .dropdown {
border-color: #dddfe5;
}
/* Dropdown Items */
.custom-dropdown .dropdown-item {
color: #000;
background-color: #fff;
}
/* Dropdown Item Hover & Selected State */
.custom-dropdown .dropdown-item:hover,
.custom-dropdown .dropdown-item.selected,
.custom-dropdown .dropdown-item.hover {
color: #fff;
background-color: #64b6f8;
}
/* Scrollbar Bottom Track */
.custom-dropdown ::-webkit-scrollbar-track-piece {
background-color: #fff;
}
el-cascader 绑定多数据 #
Cascader 只能绑定一个 value,但是工作中常常遇到几个值绑定在一起,需要同时获取到这几个值的数据。比如一个地区的多重嵌套数据,要获取到地区名,地区编码,地区级别。目前的解决方案是再写一个查询的函数。
多层嵌套数据 Options 的提取:
function convertToCascaderOptions(data) {
return data.map(item => {
const option = {
value: item.id,
label: item.name
};
if (item.children && item.children.length > 0) {
option.children = convertToCascaderOptions(item.children);
}
return option;
});
}
查询函数:
function getObjByValue(targetKey,targetValue,children,nestedArray){
for(let item of nestedArray){
if(item[targetKey] === targetValue){
return item
}
if(item[children]){
const result = getObjByValue(targetKey,targetValue,children,item[children])
if(result){
return result
}
}
}
return null;
}
更新于: 2023 年 10 月 23 日