UNPKG

@alifd/meet-react

Version:

Fusion Mobile React UI System Component

46 lines 2.09 kB
import { rpx2vw4style as __rpx2vw__ } from "@alifd/babel-runtime-jsx-style-transform"; function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } import classNames from 'classnames'; import React, { createElement, forwardRef } from "react"; import { Text } from "@alifd/meet-react-component-one"; import { isFunction } from '../utils'; import View from '../view'; import BaseSelect from './base-select'; import { getPreviewValue } from './util'; var Select = function Select(props, ref) { var isPreview = props.isPreview, previewClassNameProp = props.previewClassName, previewStyle = props.previewStyle, renderPreview = props.renderPreview, _props$prefix = props.prefix, prefix = _props$prefix === void 0 ? 'mt-' : _props$prefix, _props$size = props.size, size = _props$size === void 0 ? 'medium' : _props$size; var values = getPreviewValue(props); var previewClassName = classNames(previewClassNameProp, "".concat(prefix, "form-item-input--preview-").concat(size)); if (isPreview) { if (isFunction(renderPreview)) { return /*#__PURE__*/React.createElement(View, { className: previewClassName, style: __rpx2vw__(previewStyle) }, renderPreview(values, props)); } var directRenderVal = ''; if (Array.isArray(values)) { directRenderVal = values.map(function (v) { return v.label; }).join(','); } else if (values && values.label) { directRenderVal = values.label; } return /*#__PURE__*/React.createElement(Text, { className: previewClassName, style: __rpx2vw__(previewStyle) }, directRenderVal); } return /*#__PURE__*/React.createElement(BaseSelect, _extends({}, props, { ref: ref })); }; Select.displayName = 'Select'; export default /*#__PURE__*/forwardRef(Select);