UNPKG

base-ui

Version:

A component library for Better Vue developmemt

61 lines (49 loc) 1.64 kB
/** * 解析层级对象 * @param value {*} {innerObj: {a: 'xxx', b: 'yyy'}} {{a: 'xxx', b: 'yyy'}} * @param field innerObj.a a */ export const getValue = (value = {}, field = '') => { if (typeof value !== 'object') { return value; } const fields = field.split('.'); return fields.reduce((preVal, currVal) => { if (!preVal) return null; return preVal[currVal]; }, value); }; export const genMapFromObjectArray = (arr, keyProperty, valueProperty) => { const map = {}; if (arr && arr.length > 0) { arr.forEach((item) => { map[getValue(item, keyProperty)] = getValue(item, valueProperty); }); } return map; }; export const genYqgListFromObjectArray = (arr, keyProperty, valueProperty) => arr.map(item => ({ key: item[keyProperty], value: item[valueProperty] })); export const genYqgListFromMap = vo => Object.keys(vo).map(key => ({key, value: vo[key]})); export const evalProp = (value, values) => { if (typeof value === 'function') { return value(values); } return value; }; export const getSlotInstance = (child) => { let instance; if (child.componentInstance) { instance = child.componentInstance; } return instance; }; export const isEmptyElement = ele => !(ele.tag || (ele.text && ele.text.trim() !== '')); export const filterEmpty = (children = []) => children.filter(ele => !isEmptyElement(ele)); export const checkNotNull = (data) => { if (data === null || typeof data === 'undefined') return false; if (!data.toString()) return false; return true; };