2020-03-31 13:47:59 +08:00

46 lines
1.1 KiB
JavaScript

const blackList = [
'defaultProps',
'propTypes',
'contextTypes',
'childContextTypes',
'displayName',
];
export const statics = (Target, Component) => {
Object.keys(Component).forEach(property => {
if (blackList.indexOf(property) === -1) {
Target[property] = Component[property];
}
});
};
export const fetchDataByPath = (object, path) => {
if (!object || !path) {
return false;
}
path = path.toString();
const field = path.split('.');
let val, key;
if (field.length) {
key = field[0];
// lists[1].name
if (key.indexOf('[') >= 0) {
key = key.match(/(.*)\[(.*)\]/);
if (key) {
val = object[key[1]][key[2]];
}
} else {
val = object[field[0]];
}
if (val) {
for (let colIndex = 1; colIndex < field.length; colIndex++) {
val = val[field[colIndex]];
if (typeof val === 'undefined') {
break;
}
}
}
}
return val;
};