antd
Version:
An enterprise-class UI design language and React components implementation
75 lines (62 loc) • 2.24 kB
JavaScript
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
import _createClass from "@babel/runtime/helpers/createClass";
import _inherits from "@babel/runtime/helpers/inherits";
import _createSuper from "@babel/runtime/helpers/createSuper";
import * as React from 'react';
import CloseCircleFilled from '@ant-design/icons/CloseCircleFilled';
import SearchOutlined from '@ant-design/icons/SearchOutlined';
import Input from '../input';
var Search = /*#__PURE__*/function (_React$Component) {
_inherits(Search, _React$Component);
var _super = _createSuper(Search);
function Search() {
var _this;
_classCallCheck(this, Search);
_this = _super.apply(this, arguments);
_this.handleChange = function (e) {
var onChange = _this.props.onChange;
if (onChange) {
onChange(e);
}
};
_this.handleClear = function (e) {
e.preventDefault();
var _this$props = _this.props,
handleClear = _this$props.handleClear,
disabled = _this$props.disabled;
if (!disabled && handleClear) {
handleClear(e);
}
};
return _this;
}
_createClass(Search, [{
key: "render",
value: function render() {
var _this$props2 = this.props,
placeholder = _this$props2.placeholder,
value = _this$props2.value,
prefixCls = _this$props2.prefixCls,
disabled = _this$props2.disabled;
var icon = value && value.length > 0 ? /*#__PURE__*/React.createElement("a", {
href: "#",
className: "".concat(prefixCls, "-action"),
onClick: this.handleClear
}, /*#__PURE__*/React.createElement(CloseCircleFilled, null)) : /*#__PURE__*/React.createElement("span", {
className: "".concat(prefixCls, "-action")
}, /*#__PURE__*/React.createElement(SearchOutlined, null));
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Input, {
placeholder: placeholder,
className: prefixCls,
value: value,
onChange: this.handleChange,
disabled: disabled
}), icon);
}
}]);
return Search;
}(React.Component);
export { Search as default };
Search.defaultProps = {
placeholder: ''
};