UNPKG

mobile-more

Version:

基于 antd-mobile v5 扩展移动端 UI 组件

48 lines 1.56 kB
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; import { isArray, isUndefined } from 'ut2'; function transformKeys(data) { var keys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var _label$value$disabled = _objectSpread({ label: 'label', value: 'value', disabled: 'disabled', description: 'description', readOnly: 'readOnly', children: 'children' }, keys), labelKey = _label$value$disabled.label, valueKey = _label$value$disabled.value, disabledKey = _label$value$disabled.disabled, descriptionKey = _label$value$disabled.description, readOnlyKey = _label$value$disabled.readOnly, childrenKey = _label$value$disabled.children; function recursion(list) { return list.map(function (item) { if (typeof item === 'string') { return { label: item, value: item }; } var newItem = { label: item[labelKey], value: item[valueKey] }; if (!isUndefined(item[disabledKey])) { newItem.disabled = item[disabledKey]; } if (!isUndefined(item[descriptionKey])) { newItem.description = item[descriptionKey]; } if (!isUndefined(item[readOnlyKey])) { newItem.readOnly = item[readOnlyKey]; } if (isArray(item[childrenKey]) && item[childrenKey].length > 0) { newItem.children = recursion(item[childrenKey]); } return newItem; }); } return recursion(data); } export default transformKeys;