zent
Version:
一套前端设计语言和基于React的实现
24 lines (19 loc) • 543 B
JavaScript
import forOwn from 'lodash/forOwn';
import cloneDeep from 'lodash/cloneDeep';
const mergeClasses = (classes, activeNames = []) => {
const styles = (classes.default && cloneDeep(classes.default)) || {};
activeNames.map(name => {
const toMerge = classes[name];
if (toMerge) {
forOwn(toMerge, (value, key) => {
if (!styles[key]) {
styles[key] = {};
}
styles[key] = { ...styles[key], ...toMerge[key] };
});
}
return name;
});
return styles;
};
export default mergeClasses;