qt-public-ui
Version:
新设计规范下业务组件库
49 lines • 2.16 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
var _excluded = ["prefixCls", "className", "checked"];
/* eslint-disable */
import * as React from 'react';
import classNames from 'classnames';
import { ConfigConsumer } from '../config-provider/context';
var CheckableTag = /*#__PURE__*/function (_React$Component) {
function CheckableTag() {
var _this;
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
_this.handleClick = function () {
var _this$props = _this.props,
checked = _this$props.checked,
onChange = _this$props.onChange;
if (onChange) {
onChange(!checked);
}
};
_this.renderCheckableTag = function (_ref) {
var _classNames;
var getPrefixCls = _ref.getPrefixCls;
var _this$props2 = _this.props,
customizePrefixCls = _this$props2.prefixCls,
className = _this$props2.className,
checked = _this$props2.checked,
restProps = _objectWithoutPropertiesLoose(_this$props2, _excluded);
var prefixCls = getPrefixCls('tag', customizePrefixCls);
var cls = classNames(prefixCls, (_classNames = {}, _classNames[prefixCls + "-checkable"] = true, _classNames[prefixCls + "-checkable-checked"] = checked, _classNames), className);
delete restProps.onChange; // TypeScript cannot check delete now.
return /*#__PURE__*/React.createElement("span", _extends({}, restProps, {
className: cls,
onClick: _this.handleClick
}));
};
return _this;
}
_inheritsLoose(CheckableTag, _React$Component);
var _proto = CheckableTag.prototype;
_proto.render = function render() {
return /*#__PURE__*/React.createElement(ConfigConsumer, null, this.renderCheckableTag);
};
return CheckableTag;
}(React.Component);
export { CheckableTag as default };