UNPKG

mobile-more

Version:

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

45 lines 1.82 kB
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties"; var _excluded = ["placeholder", "renderCurrentValue", "mapKeys", "columns", "value", "separator"]; import * as React from 'react'; import { Input, Picker } from 'antd-mobile'; import transformKeys from '../utils/transformKeys'; var SuperPicker = function SuperPicker(_ref) { var placeholder = _ref.placeholder, renderCurrentValue = _ref.renderCurrentValue, mapKeys = _ref.mapKeys, _ref$columns = _ref.columns, outColumns = _ref$columns === void 0 ? [] : _ref$columns, value = _ref.value, _ref$separator = _ref.separator, separator = _ref$separator === void 0 ? ' - ' : _ref$separator, restProps = _objectWithoutProperties(_ref, _excluded); var realColumns = React.useMemo(function () { return typeof outColumns === 'function' ? outColumns(value) : outColumns; }, [outColumns, value]); var columns = React.useMemo(function () { if (mapKeys) { return realColumns.map(function (item) { return transformKeys(item, mapKeys); }); } return realColumns; }, [mapKeys, realColumns]); return /*#__PURE__*/React.createElement(Picker, _objectSpread({ columns: columns, value: value, 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, { readOnly: true, value: valueStr, placeholder: placeholder }); }); }; export default SuperPicker;