mk-component
Version:
- 1、npm install mk-component --save
97 lines (67 loc) • 3.07 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _mkRcSelect = require('mk-rc-select');
var _mkRcSelect2 = _interopRequireDefault(_mkRcSelect);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _icon = require('../icon');
var _icon2 = _interopRequireDefault(_icon);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function SelectComponent(props) {
var _classNames;
var className = props.className,
notFoundContent = props.notFoundContent,
optionLabelProp = props.optionLabelProp,
mode = props.mode,
combobox = props.combobox,
tags = props.tags,
multiple = props.multiple,
size = props.size,
otherProps = (0, _objectWithoutProperties3.default)(props, ['className', 'notFoundContent', 'optionLabelProp', 'mode', 'combobox', 'tags', 'multiple', 'size']);
className = (0, _classnames2.default)((_classNames = {
'ant-select': true,
'mk-select': true
}, (0, _defineProperty3.default)(_classNames, 'ant-select-lg', size === 'large'), (0, _defineProperty3.default)(_classNames, 'ant-select-sm', size === 'small'), (0, _defineProperty3.default)(_classNames, className, !!className), _classNames));
var isCombobox = mode === 'combobox' || combobox;
notFoundContent = notFoundContent || '无匹配结果';
if (isCombobox) {
notFoundContent = null;
// children 带 dom 结构时,无法填入输入框
optionLabelProp = optionLabelProp || 'value';
}
var modeConfig = {
multiple: mode === 'multiple' || multiple,
tags: mode === 'tags' || tags,
combobox: isCombobox
};
var suffix = props.suffix;
if (props.suffix) {
suffix = _react2.default.cloneElement(props.suffix, { style: { float: "right" } });
}
var inputIcon = _react2.default.createElement(_icon2.default, { type: 'down', className: 'ant-select-arrow-icon' });
var removeIcon = _react2.default.createElement(_icon2.default, { type: 'close', className: 'ant-select-remove-icon' });
return _react2.default.createElement(_mkRcSelect2.default, (0, _extends3.default)({
inputIcon: inputIcon,
removeIcon: removeIcon
}, otherProps, modeConfig, {
prefixCls: 'ant-select',
className: className,
optionLabelProp: optionLabelProp || 'children',
notFoundContent: notFoundContent,
suffix: suffix
}));
}
SelectComponent.Option = _mkRcSelect2.default.Option;
SelectComponent.OptGroup = _mkRcSelect2.default.OptGroup;
exports.default = SelectComponent;
module.exports = exports['default'];