mobile-more
Version:
基于 antd-mobile v5 扩展移动端 UI 组件
40 lines • 1.63 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
var _excluded = ["placeholder", "value", "options", "mapKeys", "renderCurrentValue", "separator"];
import React from 'react';
import { CascadePicker, Input } from 'antd-mobile';
import transformKeys from "../utils/transformKeys";
var SuperCascadePicker = function SuperCascadePicker(_ref) {
var placeholder = _ref.placeholder,
value = _ref.value,
_ref$options = _ref.options,
outOptions = _ref$options === void 0 ? [] : _ref$options,
mapKeys = _ref.mapKeys,
renderCurrentValue = _ref.renderCurrentValue,
_ref$separator = _ref.separator,
separator = _ref$separator === void 0 ? '/' : _ref$separator,
restProps = _objectWithoutProperties(_ref, _excluded);
var options = React.useMemo(function () {
if (mapKeys) {
return transformKeys(outOptions, mapKeys);
}
return outOptions;
}, [mapKeys, outOptions]);
return /*#__PURE__*/React.createElement(CascadePicker, _extends({
value: value,
options: options,
destroyOnClose: true
}, restProps), function (items) {
var valueStr = typeof renderCurrentValue === 'function' ? renderCurrentValue(value, items) : items.filter(function (item) {
return !!item;
}).map(function (item) {
return item === null || item === void 0 ? void 0 : item.label;
}).join(separator);
return /*#__PURE__*/React.createElement(Input, {
value: valueStr,
placeholder: placeholder,
readOnly: true
});
});
};
export default SuperCascadePicker;