mobile-more
Version:
基于 antd-mobile v5 扩展移动端 UI 组件
55 lines (54 loc) • 1.97 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _ut = require("ut2");
function transformKeys(data) {
var keys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var _label$value$disabled = (0, _objectSpread2.default)({
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 (typeof (item === null || item === void 0 ? void 0 : item[disabledKey]) !== 'undefined') {
newItem.disabled = item[disabledKey];
}
if (typeof (item === null || item === void 0 ? void 0 : item[descriptionKey]) !== 'undefined') {
newItem.description = item[descriptionKey];
}
if (typeof (item === null || item === void 0 ? void 0 : item[readOnlyKey]) !== 'undefined') {
newItem.readOnly = item[readOnlyKey];
}
if ((0, _ut.isArray)(item[childrenKey]) && item[childrenKey].length > 0) {
newItem.children = recursion(item[childrenKey]);
}
return newItem;
});
}
return recursion(data);
}
var _default = exports.default = transformKeys;